Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Databricks SQL
Databricks Runtime
Entfernt eine PRIMARY KEY
, FOREIGN KEY
oder CHECK
Einschränkung aus der Beziehung.
Syntax
DROP { PRIMARY KEY [ IF EXISTS ] [ RESTRICT | CASCADE ] |
FOREIGN KEY [ IF EXISTS ] ( column [, ...] ) |
CONSTRAINT [ IF EXISTS ] name [ RESTRICT | CASCADE ] }
Parameter
PRIMÄRSCHLÜSSEL [ WENN VORHANDEN ]
Gilt für:
Databricks SQL
Databricks Runtime 11.3 LTS und höher
Nur Unity Catalog
Entfernt den Primärschlüssel aus der Relation.
FREMDSCHLÜSSEL [ WENN VORHANDEN ] ( Spalte [, ...] )
Gilt für:
Databricks SQL
Databricks Runtime 11.3 LTS und höher
Nur Unity Catalog
Löscht den durch die sortierte Spaltenliste angegebenen Fremdschlüssel.
CONSTRAINT [ WENN VORHANDEN ] Name
Löscht die anhand des Namens angegebene Primärschlüssel- oder Fremdschlüsseleinschränkung oder CHECK-Einschränkung. CHECK-Einschränkungen können nur durch Angabe des Namens gelöscht werden.
RESTRICT oder CASCADE
Wenn Sie
RESTRICT
angeben, und der Primärschlüssel von einem Fremdschlüssel referenziert wird, wird die Anweisung fehlschlagen. Wenn Sie angebenCASCADE
, führt das Ablegen des Primärschlüssels zum Ablegen aller Fremdschlüssel, die auf die Beziehung verweisen. Der Standardwert istRESTRICT
.WENN EXISTIERT
Wenn Sie angeben
IF EXISTS
, wird die Anweisung ignoriert, wenn die Beziehung keine Übereinstimmungseinschränkung aufweist.
Beispiele
> CREATE TABLE persons(first_name STRING NOT NULL, last_name STRING NOT NULL, nickname STRING);
> ALTER TABLE persons ADD CONSTRAINT persons_pk PRIMARY KEY(first_name, last_name);
> CREATE TABLE pets(name STRING, owner_first_name STRING, owner_last_name STRING);
> ALTER TABLE pets ADD CONSTRAINT pets_persons_fk FOREIGN KEY (owner_first_name, owner_last_name) REFERENCES persons;
> ALTER TABLE pets ADD CONSTRAINT pets_name_not_cute_chk CHECK (length(name) < 20);
-- Drop the check constraint by name
> ALTER TABLE pets DROP CONSTRAINT pets_name_not_cute_chk;
-- Attempt to drop the primary key of persons by name
> ALTER TABLE persons DROP CONSTRAINT persons_pk RESTRICT;
Error: A foreign key `pets_persons_fk` depends on the primary key
-- Drop the foreign key from pets by listing the columns
> ALTER TABLE pets DROP FOREIGN KEY IF EXISTS (owner_first_name, owner_last_name);
-- Drop the primary key of persons
> ALTER TABLE persons DROP PRIMARY KEY CASCADE;