Truncate

TRUNCATE – polecenie języka SQL.

TRUNCATE TABLE jest poleceniem należącym do DDL, które oznacza obszar wymienionej w poleceniu tabeli do dealokacji (jako pustą do ponownego użycia). Przeprowadzenie operacji TRUNCATE powoduje szybkie usunięcie danych z tabeli, zazwyczaj z pominięciem mechanizmów wymuszających integralność danych. Polecenie zostało oficjalnie wprowadzone w standardzie SQL:2008.

Polecenie TRUNCATE TABLE nazwa_tabeli jest logicznie, ale nie fizycznie, identyczne z poleceniem DELETE FROM nazwa_tabeli (bez użycia WHERE). Polecenia TRUNCATE i DELETE różnią się następującymi cechami:

Do standardu SQL należą także klauzule RESTART IDENTITY oraz CONTINUE IDENTITY, które zerują, bądź zachowują sekwencję przypisaną do tabeli.

TRUNCATE TABLE nazwa_tabeli RESTART IDENTITY;

Za pomocą polecenia TRUNCATE istnieje również możliwość usunięcia danych z tabel powiązanych za pomocą kluczy obcych:

TRUNCATE nazwa_tabeli CASCADE;

Przypisy

  1. ↑ The PostgreSQL Global Development Group: TRUNCATE. [dostęp 2014-03-29]. (ang.).