Aracılığıyla paylaş


DROP CONSTRAINT maddesi

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

İlişkiden bir PRIMARY KEY, FOREIGN KEYveya CHECK kısıtlaması bırakır.

Sözdizimi

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

Parametreler

  • PRIMARY KEY [EĞER VARSA]

    Şunlar için geçerlidir:onay işareti evet Databricks SQL onay işareti evet olarak işaretlendi Databricks Runtime 11.3 LTS ve üzeri onay işareti yalnızca Unity Kataloğu evet olarak işaretlendi

    İlişkiden birincil anahtarı kaldırır.

  • YABANCı ANAHTAR [ VARSA ] ( sütun [, ...] )

    Şunlar için geçerlidir:onay işareti evet Databricks SQL onay işareti evet olarak işaretlendi Databricks Runtime 11.3 LTS ve üzeri onay işareti yalnızca Unity Kataloğu evet olarak işaretlendi

    Sıralı sütun listesi ile tanımlı yabancı anahtarı kaldırır.

  • CONSTRAINT [ VARSA ] isim

    Adla tanımlanan birincil anahtarı, yabancı anahtarı veya denetim kısıtlamasını bırakır. Denetim kısıtlamaları yalnızca ada göre silinebilir.

  • RESTRICT veya CASCADE

    RESTRICT belirttiğinizde ve birincil anahtar herhangi bir yabancı anahtar tarafından referans alındığında, ifade başarısız olur. Belirttiğinizde CASCADE, birincil anahtarın bırakılması, ilişkiye referans veren yabancı anahtarların da bırakılmasıyla sonuçlanır. Varsayılan değer: RESTRICT.

  • VAR OLUP OLMADIĞINI KONTROL ET

    Belirttiğinizde IF EXISTS, ilişkide eşleşen bir kısıtlama yoksa ifade yoksayılır.

Örnekler

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