TRUNCATE TABLE

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Eltávolítja az összes sort egy táblából vagy partícióból. Az asztal nem lehet kilátás vagy ideiglenes asztal. A Delta Lake táblázatok lerövidíthetők, akár kezelhetőek, akár külsőleg vannak. Más táblázatformátumoknál, mint például a Parquet, CSV vagy ORC, a tábla nem lehet külső formátum. Több partíció egyszerre rövidítéséhez határozzuk meg a partíciókat .partition_spec Ha nincs partition_spec megadva, akkor eltávolítja az összes partíciót a táblából.

Feljegyzés

A Delta Lake nem támogatja TRUNCATEpartíciós záradékait.

Ha a tábla gyorsítótárazva van, a parancs törli a tábla gyorsítótárazott adatait és az arra hivatkozó összes függőt. A gyorsítótár késleltetve lesz feltöltve, amikor legközelebb hozzáférnek a táblához vagy a függőkhöz.

Syntax

TRUNCATE TABLE table_name [ PARTITION clause ]

Paraméterek

  • table_name

    A csonkítandó tábla neve. A név nem tartalmazhat időbeli specifikációt vagy beállításspecifikációt. Ha a tábla nem található, az Azure Databricks TABLE_OR_VIEW_NOT_FOUND hibát jelez.

  • PARTITION záradék

    Partíció opcionális specifikációja. A Delta Lake nem támogatott.

Példák

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