DROP CONSTRAINT záradék

Fontos

Ez a funkció a nyilvános előzetes verzióban érhető el.

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

ELSŐDLEGES KULCS, IDEGEN KULCS vagy CHECK kényszer elvetése a táblából.

Syntax

DROP { PRIMARY KEY [ IF EXISTS ] [ RESTRICT | CASCADE ] |
       FOREIGN KEY [ IF EXISTS ] ( column [, ...] ) |
       CONSTRAINT [ IF EXISTS ] name [ RESTRICT | CASCADE ] }

Paraméterek

  • ELSŐDLEGES KULCS [ HA LÉTEZIK ]

    A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 11.3 LTS és a Unity Catalog felett csak jelölje be az igennel jelölt jelölőnégyzetet

    Az elsődleges kulcs elvetése a táblából.

  • IDEGEN KULCS [ HA LÉTEZIK ] ( oszlop [, ...] )

    A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 11.3 LTS és a Unity Catalog felett csak jelölje be az igennel jelölt jelölőnégyzetet

    A rendezett oszlopok listája által azonosított idegen kulcsot elveti.

  • CONSTRAINT [ IF EXISTS ] name

    Elveti az elsődleges kulcsot, az idegen kulcsot vagy a név alapján azonosított ellenőrzési kényszert. A korlátozásokat csak név alapján lehet elvetni.

  • RESTRICT vagy CASCADE

    Ha megadja RESTRICT , és az elsődleges kulcsra bármilyen idegen kulcs hivatkozik, az utasítás sikertelen lesz. Ha megadja CASCADE, az elsődleges kulcs elvetése a táblára hivatkozó idegen kulcsok elvetését eredményezi. Rendelkeznie kell azokkal a táblákkal, amelyeken az idegen kulcsok definiálva vannak. Az alapértelmezett érték RESTRICT.

  • HA LÉTEZIK

    Ha megadja IF EXISTS , a rendszer figyelmen kívül hagyja az utasítást, ha a tábla nem rendelkezik egyező korlátozásokkal.

Példák

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