Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

DROP TABLE - Basistabelle löschen

DROP TABLE löscht eine Basistabelle und die zugehörigen Indizes.

Das Löschen einer Basistabelle entzieht dem aktuellen Berechtigungsschlüssel alle Tabellen und Spalten-Privilegien für diese Basistabelle. Tabellen- und Spalten-Privilegien, die weitergegeben wurden, werden ebenfalls entzogen.

Welche Basistabellen definiert sind, erfahren Sie im View BASE_TABLES des INFORMATION_SCHEMA (siehe Kapitel „Informationsschemata").

Mit DROP TABLE können auch BLOB-Tabellen gelöscht werden. Dabei werden alle enthaltenen BLOB-Objekte gelöscht.

Der aktuelle Berechtigungsschlüssel muss Eigentümer des Schemas sein, zu dem die Tabelle gehört.



DROP TABLE tabelle [DEFERRED] { CASCADE | RESTRICT }



tabelle

Name der Basistabelle, die gelöscht werden soll.


DEFERRED

Diese Klausel bewirkt ein schnelles Löschen der Tabelle, bei dem nur der zusammenhängende Teil der Tabelle und der zugehörigen expliziten und impliziten Indizes gelöscht werden. Eventuell vorhandene Auslagerungen bleiben erhalten.
Bei der nächsten Reorganisation des Anwender-Spaces mit der Utility-Anweisung REORG SPACE werden alle existierenden Tabellen und Indizes auf dem Anwender-Space neu aufgebaut.
Damit verschwinden auch die nicht gelöschten Auslagerungen.
Informationen zur Speicherstruktur von Basistabellen finden Sie im „ Basishandbuch“.

Bei partitionierten Tabellen gilt die Klausel DEFERRED für alle Partitionen, sie kann nicht auf einzelne Partitionen eingeschränkt werden.

Die Klausel DEFERRED kann nur beim expliziten Löschen angegeben werden. Beim impliziten Löschen, z.B. mit DROP SPACE ... CASCADE, kann sie nicht angegeben werden.

Wenn DEFERRED nur für die Tabelle, nicht aber für die Indizes gelten soll, dann müssen die Indizes zuerst mit DROP INDEX (ohne Angabe von DEFERRED) gelöscht werden. Dann kann die Tabelle mit DROP TABLE ... DEFERRED gelöscht werden.

DEFERRED nicht angegeben:
SESAM/SQL löscht die Tabelle und alle zugehörigen Indizes. Bei sehr großen, zersplitterten Tabellen kann dies zeitaufwändig sein.


CASCADE

Die Basistabelle tabelle und alle zugehörigen Indizes werden gelöscht. Außerdem werdenalle Views, Routinen und Integritätsbedingungen, die sich direkt oder indirekt auf tabelle beziehen, gelöscht.


RESTRICT

Das Löschen der Basistabelle tabelle ist nur eingeschränkt möglich. Die Basistabelle tabelle kann nicht gelöscht werden, wenn sie in einer View-Definition, einer Routine oder in einer Integritätsbedingung einer anderen Basistabelle verwendet wird.


Beispiele

Das Beispiel löscht die Tabelle KUNDE nur dann, wenn zuvor alle Integritätsbedingungen anderer Basistabellen gelöscht wurden, die auf die Tabelle KUNDE verweisen. Außerdem darf die Tabelle KUNDE in keiner View-Definition verwendet werden.

ALTER TABLE kontakt DROP CONSTRAINT ko_knr_ref_kunde CASCADE

ALTER TABLE auftrag DROP CONSTRAINT a_knr_ref_kunde CASCADE

DROP TABLE kunde RESTRICT


Das Beispiel löscht die Tabellen BILDER und BESCHREIBUNG mit allen Indizies, Views und Integritätsbedingungen, die sich auf die Tabellen BILDER und BESCHREIBUNG beziehen.

DROP TABLE bilder CASCADE

DROP TABLE beschreibung CASCADE


Siehe auch

CREATE TABLE, ALTER TABLE