Sdílet prostřednictvím


TRUNCATE TABLE

Platí pro:zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime

Odebere všechny řádky z tabulky nebo oddíl(u/ů). Tabulka nesmí být zobrazením, ani externí nebo dočasnou tabulkou. Chcete-li zkrátit více oddílů najednou, zadejte oddíly v partition_spec. Pokud není specifikován žádný partition_spec, odstraní všechny oddíly v tabulce.

Poznámka:

Delta Lake nepodporuje klauzule oddílů pro TRUNCATE.

Pokud je tabulka uložená v mezipaměti, příkaz vymaže data tabulky uložená v mezipaměti a všechny její závislé objekty, které na ni odkazují. Mezipaměť bude líně vyplněna, když dojde k příštímu přístupu k tabulce nebo jejím závislostem.

Syntaxe

TRUNCATE TABLE table_name [ PARTITION clause ]

Parametry

Příklady

-- 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
 ---- ------ ---