TRUNCATE TABLE
Platí pro: Databricks SQL
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
-
Název tabulky, kterou je třeba vyprázdnit. Název nesmí obsahovat dočasnou specifikaci ani specifikaci možností. Pokud se tabulka nenašla, Azure Databricks vyvolá chybu TABLE_OR_VIEW_NOT_FOUND.
-
Volitelná specifikace oddílu Pro Delta Lake se nepodporuje.
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
---- ------ ---