Looking for sql Keywords? Try Ask4Keywords

SQLKÜRZEN


Einführung

Die TRUNCATE-Anweisung löscht alle Daten aus einer Tabelle. Dies ähnelt DELETE ohne Filter, hat jedoch abhängig von der Datenbanksoftware bestimmte Einschränkungen und Optimierungen.

Syntax

  • TRUNCATE TABLE Tabellenname;

Bemerkungen

TRUNCATE ist ein DDL-Befehl (Data Definition Language), und als solcher gibt es erhebliche Unterschiede zwischen DELETE (ein Befehl zur Datenmanipulationssprache, DML). Obwohl TRUNCATE ein Mittel zum schnellen Entfernen großer Datensätze aus einer Datenbank sein kann, sollten diese Unterschiede verstanden werden, um zu entscheiden, ob die Verwendung eines TRUNCATE-Befehls in Ihrer speziellen Situation geeignet ist.

  • TRUNCATE ist eine Datenseitenoperation. Daher werden DML-Auslöser (ON DELETE), die der Tabelle zugeordnet sind, nicht ausgelöst, wenn Sie eine TRUNCATE-Operation ausführen. Dies spart zwar sehr viel Zeit für umfangreiche Löschvorgänge, Sie müssen jedoch möglicherweise die zugehörigen Daten manuell löschen.
  • TRUNCATE gibt den von den gelöschten Zeilen belegten Speicherplatz frei, DELETE gibt Speicherplatz frei
  • Wenn die zu schneidende Tabelle Identitätsspalten (MS SQL Server) verwendet, wird der Startwert durch den Befehl TRUNCATE zurückgesetzt. Dies kann zu Problemen der referentiellen Integrität führen
  • Abhängig von den vorhandenen Sicherheitsrollen und der verwendeten SQL-Variante verfügen Sie möglicherweise nicht über die erforderlichen Berechtigungen, um einen TRUNCATE-Befehl auszuführen

KÜRZEN Verwandte Beispiele