TRUNCATE TABLE
Aplica-se a: Databricks SQL Databricks Runtime
Remove todas as linhas de uma tabela ou partição(ões). A tabela não deve ser uma vista ou uma tabela externa ou temporária. Para truncar várias partições de uma só vez, especifique as partições em partition_spec
. Se não partition_spec
for especificado, remove todas as partições na tabela.
Nota
Delta Lake não suporta cláusulas de partição para TRUNCATE
.
Se a tabela estiver armazenada em cache, o comando limpará os dados armazenados em cache da tabela e todos os seus dependentes que se referem a ela. O cache será preenchido preguiçosamente quando a tabela ou os dependentes forem acessados na próxima vez.
Sintaxe
TRUNCATE TABLE table_name [ PARTITION clause ]
Parâmetros
-
O nome da tabela a ser truncada. O nome não deve incluir uma especificação temporal ou uma especificação de opções. Se a tabela não puder ser encontrada, o Azure Databricks gerará um erro de TABLE_OR_VIEW_NOT_FOUND .
-
Especificação opcional de uma partição. Não suportado para Delta Lake.
Exemplos
-- 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
---- ------ ---