- الـTRUNCATE يُستخدم لحذف جميع البيانات من جدول بسرعة وكفاءة مع الحفاظ على بنية الجدول (الأعمدة، القيود، إلخ).
- بتبقا أكنه بيهد الـ Table ويبنيه تاني من الأول فكل حاجة بترجع جديدة
خصائص TRUNCATE:
- أداء عالي:
- أسرع من DELETE لأنه لا يسجل كل صف في سجل العمليات (Transaction Log).
- لا يمكن التراجع عنه:
- إذا لم تكن ضمن عملية Transaction، فلا يمكن استعادة البيانات بعد التنفيذ.
- إعادة تعيين الأرقام التلقائية (IDENTITY):
- يعيد عداد الأعمدة المعرّفة بـ IDENTITY إلى القيمة الافتراضية (عادةً 1).
- لا يسمح بالقيود المرتبطة:
- لا يمكن استخدامه إذا كان الجدول يحتوي على مفاتيح أجنبية مرتبطة.
الصيغة:
TRUNCATE TABLE table_name;
مثال:
TRUNCATE TABLE sales.visits;
- يحذف جميع السجلات من جدول visits ويعيد تعيين الأعمدة ذات الهوية (IDENTITY).
ملاحظات:
- يُفضل استخدام TRUNCATE عند الحاجة لحذف جميع البيانات من جدول بسرعة ودون التأثير على بنية الجدول.
- لا يُستخدم إذا كان الجدول مرتبطًا بمفاتيح أجنبية (FOREIGN KEY).