ALTER SEQUENCE

Ändert die Eigenschaften einer bestehenden Sequenz.

Siehe auch:

CREATE SEQUENCE, DROP SEQUENCE, SHOW SEQUENCES, DESCRIBE SEQUENCE

Syntax

ALTER SEQUENCE [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER SEQUENCE [ IF EXISTS ] <name> [ SET ] [ INCREMENT [ BY ] [ = ] <sequence_interval> ]

ALTER SEQUENCE [ IF EXISTS ] <name> SET
  [ { ORDER | NOORDER } ]
  [ COMMENT = '<string_literal>' ]
Copy

Parameter

name

Gibt den Bezeichner für die zu ändernde Sequenz an. Wenn der Bezeichner Leerzeichen oder Sonderzeichen enthält, muss die gesamte Zeichenfolge in doppelte Anführungszeichen gesetzt werden. Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.

Weitere Informationen zu Bezeichnern finden Sie unter Anforderungen an Bezeichner.

RENAME TO new_name

Gibt den neuen Bezeichner für die Sequenz an. Dieser muss für das Schema eindeutig sein.

Weitere Informationen zu Bezeichnern finden Sie unter Anforderungen an Bezeichner.

Sie können das Objekt in eine andere Datenbank und/oder in ein anderes Schema verschieben und dabei optional das Objekt umbenennen. Geben Sie dazu einen qualifizierten new_name-Wert an, der den neuen Datenbank- und/oder Schemanamen im Format db_name.schema_name.object_name bzw. schema_name.object_name enthält.

Bemerkung

  • Die Zieldatenbank und/oder das Zielschema müssen bereits vorhanden sein. Außerdem darf in der Zieldatenbank nicht bereits ein gleichnamiges Schema vorhanden sein, da die Anweisung sonst einen Fehler zurückgibt.

  • Das Verschieben eines Objekts in ein verwaltetes Zugriffsschema ist nicht zulässig, es sei denn, der Objekteigentümer (d. h. die Rolle mit der Berechtigung OWNERSHIP für das Objekt) ist auch Eigentümer des Zielschemas.

Wenn ein Objekt umbenannt wird, müssen andere Objekte, die darauf verweisen, mit dem neuen Namen aktualisiert werden.

SET...

Gibt die Eigenschaften an, die für die Sequenz festgelegt werden sollen:

[ INCREMENT [ BY ] sequence_interval ]

Gibt das Schrittintervall der Sequenz an:

  • Für das positive Sequenzintervall n werden die nächsten n-1-Werte bei jedem Sequenzaufruf reserviert.

  • Für das negative Sequenzintervall -n werden die nächstniedrigeren n-1-Werte bei jedem Sequenzaufruf reserviert.

Unterstützte Werte sind alle Nicht-Null-Werte, die durch eine 64-Bit-Zweierkomplement-Ganzzahl dargestellt werden können.

{ ORDER | NOORDER }

Gibt an, ob die Werte in aufsteigender Sequenz generiert werden oder nicht.

  • ORDER gibt an, dass die Werte, die für eine Sequenz oder eine automatisch inkrementierte Spalte generiert werden, in aufsteigender Reihenfolge sind (oder, wenn das Intervall einen negativen Wert hat, in abnehmender Reihenfolge).

    Wenn beispielsweise eine Sequenz oder eine automatisch inkrementierte Spalte die Werte START 1 INCREMENT 2 hat, könnten die generierten Werte 1, 3, 5, 7, 9 usw. sein.

  • NOORDER gibt an, dass nicht garantiert ist, dass die Werte in aufsteigender Reihenfolge sind.

    Wenn beispielsweise eine Sequenz die Werte START 1 INCREMENT 2 hat, könnten die generierten Werte 1, 3, 101, 5, 103 usw. sein.

    NOORDER kann die Leistung verbessern, wenn mehrere Einfügeoperationen gleichzeitig ausgeführt werden müssen (z. B. wenn mehrere Clients mehrere INSERT-Anweisungen ausführen).

Bemerkung

Wenn eine Sequenz auf NOORDER eingestellt ist, können Sie die Sequenz nicht auf ORDER ändern.

COMMENT = 'string_literal'

Fügt einen Kommentar hinzu oder überschreibt einen vorhandenen Kommentar für die Sequenz.

Nutzungshinweise

  • Der Anfangswert einer Sequenz kann nach dem Erstellen der Sequenz nicht mehr geändert werden.

  • Metadaten:

    Achtung

    Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „Benutzer“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.

Beispiele

Sequenz myseq in newseq umbenennen:

ALTER SEQUENCE myseq RENAME TO newseq;
Copy