TRUNCATE TABLE
Si applica a: Databricks SQL Databricks Runtime
Rimuove tutte le righe da un table o da un partition(s). Il table non deve essere una visualizzazione o un tableesterno o temporaneo. Per troncare più partizioni contemporaneamente, specificare le partizioni in partition_spec
. Se non viene specificato alcun partition_spec
, rimuove tutte le partizioni nel table.
Nota
Delta Lake non supporta clausole di partition per TRUNCATE
.
Se la table è nella cache, il comando elimina i dati nella cache di table e di tutti i suoi dipendenti che vi fanno riferimento. La cache verrà riempita in modo pigro quando l'table o i suoi dipendenti saranno accessi la prossima volta.
Sintassi
TRUNCATE TABLE table_name [ PARTITION clause ]
Parameters
-
Il nome di table da troncare. Il nome non deve includere una specifica temporale o una specifica delle opzioni. Se il table non viene trovato, Azure Databricks genera un errore TABLE_OR_VIEW_NOT_FOUND.
-
Specifica facoltativa di un partition. Non supportato per Delta Lake.
Esempi
-- 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
---- ------ ---