Ä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. ENFORCED und VALIDATE.

  • 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>;

Ändern der Eigenschaften einer Einschränkung

Verwenden Sie folgende Syntax für den Befehl ALTER TABLE, 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 ] };

Derzeit unterstützt Snowflake ausschließlich das Festlegen der Einschränkungen auf die Standardwerte:

NOT ENFORCED NOVALIDATE

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.