TRUNCATE TABLE
Platí pro: Databricks SQL Databricks Runtime
Odebere všechny řádky z table nebo partition.
table nesmí být zobrazením ani externím nebo dočasným table. Chcete-li zkrátit více oddílů najednou, zadejte oddíly v partition_spec
. Pokud není zadán žádný partition_spec
, odstraní všechny oddíly v table.
Poznámka:
Delta Lake nepodporuje klauzule partition pro TRUNCATE
.
Pokud je table uložena do mezipaměti, příkaz vymaže data uložená v mezipaměti table a všechny jeho závislé položky, které na něj odkazují. Mezipaměť bude lenivě vyplněna při příštím přístupu k table nebo závislým částem.
Syntaxe
TRUNCATE TABLE table_name [ PARTITION clause ]
Parameters
-
Název ke zkrácení: table. Název nesmí obsahovat dočasnou specifikaci ani specifikaci možností. Pokud nelze table nalézt, Azure Databricks vyvolá chybu TABLE_OR_VIEW_NOT_FOUND.
-
Volitelná specifikace partition. 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
---- ------ ---