اقتطاع جدول

إزالة كافة الصفوف من جدول أو قسم(أقسام). يجب ألا يكون الجدول طريقة عرض أو جدول خارجي أو مؤقت. من أجل اقتطاع أقسام متعددة في وقت واحد، حدد الأقسام في partition_spec . إذا لم partition_spec يتم تحديد، إزالة كافة الأقسام في الجدول.

إذا كان الجدول مؤقتا، الأمر مسح البيانات المخزنة مؤقتا من الجدول وكافة التابعين له التي تشير إليه. سيتم تعبئة ذاكرة التخزين المؤقت بشكل متكاسل عند الوصول إلى الجدول أو التابعين في المرة القادمة.

بناء الجملة

TRUNCATE TABLE table_identifier [ partition_spec ]

المعلمات

  • table_identifier

    • [database_name.] table_nameاسم جدول مؤهل اختياريا باسم قاعدة بيانات.
    • delta.`<path-to-table>`موقع جدول دلتا موجود.
  • partition_spec

    قائمة اختيارية مفصولة بفاصلة لأزواج القيمة الرئيسية للأقسام.

    إعراب:

أمثلة

-- Create table Student with partition
CREATE TABLE Student (name STRING, rollno INT) PARTITIONED BY (age INT);

SELECT * FROM Student;
+----+------+---+
|name|rollno|age|
+----+------+---+
| ABC|     1| 10|
| DEF|     2| 10|
| XYZ|     3| 12|
+----+------+---+

-- Remove all rows from the table in the specified partition
TRUNCATE TABLE Student partition(age=10);

-- After truncate execution, records belonging to partition age=10 are removed
SELECT * FROM Student;
+----+------+---+
|name|rollno|age|
+----+------+---+
| XYZ|     3| 12|
+----+------+---+

-- Remove all rows from the table from all partitions
TRUNCATE TABLE Student;

SELECT * FROM Student;
+----+------+---+
|name|rollno|age|
+----+------+---+
+----+------+---+