Ändern von Einschränkungen

Nach dem Erstellen einer Einschränkung:

  • Kann die Einschränkung umbenannt werden.

  • Können bestimmte Eigenschaften geändert werden, z. B. RELY.

  • Können bestimmte Eigenschaften nicht geändert werden, z. B. DEFERRABLE. Zum Ändern der Eigenschaften muss die entsprechende Einschränkung gelöscht und neu erstellt werden.

  • Die Spaltendefinition für eine Einschränkung lässt nicht ändern (z. B. Hinzufügen von neuen Spalten, Löschen von vorhandenen Spalten oder Ändern der Reihenfolge von Spalten). Zum Vornehmen dieser Änderungen muss die Einschränkung gelöscht und neu erstellt werden.

Beim Ändern einer Einschränkung kann die Einschränkung entweder über den Einschränkungsnamen oder über die Spalten in der Einschränkungsdefinition sowie mit dem Typ der Einschränkung identifiziert werden. Außerdem können Primärschlüssel mit dem Schlüsselwort PRIMARY KEY identifiziert werden, da jede Tabelle nur einen einzigen Primärschlüssel aufweisen kann.

Wenn eine Tabelle mit Einschränkungen geändert wird (z. B. Umbenennung der Tabelle oder Ersetzung der Tabelle durch eine andere Tabelle), werden die Einschränkungen den Änderungen entsprechend aktualisiert.

Unter diesem Thema:

Umbenennen einer Einschränkung

Verwenden Sie folgende Syntax für den Befehl ALTER TABLE, um eine Einschränkung umzubenennen:

ALTER TABLE <table_name> RENAME CONSTRAINT <old_name> TO <new_name>;
Copy

Ändern der Eigenschaften einer Einschränkung

Verwenden Sie für den ALTER TABLE-Befehl folgende Syntax, um die Eigenschaften einer Einschränkung zu ändern:

ALTER TABLE <table_name>
    { ALTER | MODIFY } { CONSTRAINT <name> | PRIMARY KEY | { UNIQUE | FOREIGN KEY } (<column_name>, [ ... ] ) }
    { [ [ NOT ] ENFORCED ] [ VALIDATE | NOVALIDATE ] [ RELY | NORELY ] };
Copy

Derzeit unterstützt Snowflake nur die Einstellen der folgenden Einschränkungseigenschaften:

  • NOT ENFORCED

  • NOVALIDATE

  • RELY und NORELY

Beachten Sie, dass Snowflake die Einstellungen ENFORCED und VALIDATE nicht unterstützt.

Beschreibungen zu den Einschränkungseigenschaften finden Sie unter Einschränkungseigenschaften.

Ändern einer Tabelle mit Einschränkungen

Wenn eine Tabelle mit Einschränkungen umbenannt wird, werden die Einschränkungen für die Tabelle sowie alle Fremdschlüsseleinschränkungen, die auf die Tabelle verweisen, aktualisiert, um sich auf den neuen Namen zu beziehen.

Falls eine Tabelle durch eine andere vorhandene Tabelle ersetzt wird, werden alle Einschränkungen der Tabelle in der ausgetauschten Tabelle beibehalten.

Weitere Informationen zum Umbenennen oder Austauschen von Tabellen finden Sie unter ALTER TABLE.