• الـTRUNCATE يُستخدم لحذف جميع البيانات من جدول بسرعة وكفاءة مع الحفاظ على بنية الجدول (الأعمدة، القيود، إلخ).
  • بتبقا أكنه بيهد الـ Table ويبنيه تاني من الأول فكل حاجة بترجع جديدة

خصائص TRUNCATE:

  1. أداء عالي:
    • أسرع من DELETE لأنه لا يسجل كل صف في سجل العمليات (Transaction Log).
  2. لا يمكن التراجع عنه:
    • إذا لم تكن ضمن عملية Transaction، فلا يمكن استعادة البيانات بعد التنفيذ.
  3. إعادة تعيين الأرقام التلقائية (IDENTITY):
    • يعيد عداد الأعمدة المعرّفة بـ IDENTITY إلى القيمة الافتراضية (عادةً 1).
  4. لا يسمح بالقيود المرتبطة:
    • لا يمكن استخدامه إذا كان الجدول يحتوي على مفاتيح أجنبية مرتبطة.

الصيغة:

TRUNCATE TABLE table_name;

مثال:

TRUNCATE TABLE sales.visits;
  • يحذف جميع السجلات من جدول visits ويعيد تعيين الأعمدة ذات الهوية (IDENTITY).

ملاحظات:

  • يُفضل استخدام TRUNCATE عند الحاجة لحذف جميع البيانات من جدول بسرعة ودون التأثير على بنية الجدول.
  • لا يُستخدم إذا كان الجدول مرتبطًا بمفاتيح أجنبية (FOREIGN KEY).