DROP SEQUENCE¶
Entfernt eine Sequenz aus dem aktuellen/angegebenen Schema.
- Siehe auch:
CREATE SEQUENCE, ALTER SEQUENCE, SHOW SEQUENCES, DESCRIBE SEQUENCE
Syntax¶
DROP SEQUENCE [ IF EXISTS ] <name> [ CASCADE | RESTRICT ]
Parameter¶
name
Gibt den Bezeichner der zu löschenden Sequenz an.
Wenn der Sequenzbezeichner nicht vollqualifiziert ist (in der Form
db_name.schema_name.sequence_name
oderschema_name.sequence_name
), sucht der Befehl die Sequenz im aktuellen Schema der Sitzung.CASCADE | RESTRICT
Snowflake lässt die Schlüsselwörter
CASCADE
undRESTRICT
syntaktisch zu, reagiert aber nicht auf diese. Wenn Sie beispielsweise eine Sequenz mit dem SchlüsselwortCASCADE
löschen, wird keine Tabelle gelöscht, die die Sequenz verwendet. Das Löschen einer Sequenz mit dem SchlüsselwortRESTRICT
gibt keine Warnung aus, wenn die Sequenz noch von einer Tabelle verwendet wird.
Nutzungshinweise¶
Um eine Sequenz zu löschen, müssen Sie eine Rolle verwenden, die Eigentümerrechte für die Sequenz besitzt.
Nach dem Löschen einer Sequenz wird beim Erstellen einer Sequenz mit dem gleichen Namen eine neue Version der Datenbank angelegt. Die neue Sequenz setzt die Generierung von Nummern nicht dort fort, wo die alte Sequenz aufgehört hat.
Stellen Sie vor dem Löschen einer Sequenz sicher, dass keine Tabellen oder andere Datenbankobjekte auf die Sequenz verweisen.
Wenn auf die gelöschte Sequenz in der
DEFAULT
-Klausel einer Tabelle verwiesen wurde, führt der Aufruf vonGET_DDL()
für diese Tabelle (anders als die DDL zum Erstellen der Tabelle) zu einem Fehler.
Beispiele¶
Löschen einer Sequenz:
DROP SEQUENCE IF EXISTS invoice_sequence_number;