DROP CONSTRAINT-Klausel

Gilt für:durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Legt eine PRIMARY KEY, FOREIGN KEY, , UNIQUEoder 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:Häkchen ja Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime 11.3 LTS und höher Häkchen gesetzt ja Nur Unity Catalog

    Entfernt den Primärschlüssel aus der Relation.

  • FREMDSCHLÜSSEL [ WENN VORHANDEN ] ( Spalte [, ...] )

    Gilt für:Häkchen ja Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime 11.3 LTS und höher Häkchen gesetzt ja Nur Unity Catalog

    Löscht den durch die sortierte Spaltenliste angegebenen Fremdschlüssel.

  • CONSTRAINT [ WENN VORHANDEN ] Name

    Legt den Primärschlüssel, den Fremdschlüssel, die eindeutigen oder die Durchnamen identifizierte Check-Einschränkung ab. Check and unique constraints must be dropped by name.

  • RESTRICT oder CASCADE

    Wenn Sie angeben RESTRICT, und auf den Primärschlüssel oder die eindeutige Einschränkung wird von jedem Fremdschlüssel verwiesen, schlägt die Anweisung fehl. Wenn Sie angeben CASCADE, führt das Ablegen des Primärschlüssels oder der eindeutigen Einschränkung zum Ablegen aller Fremdschlüssel, die auf die Beziehung verweisen. Der Standardwert ist RESTRICT.

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