DROP CONSTRAINT yan tümcesi
Şunlar için geçerlidir: Databricks SQL Databricks Runtime
Tablodan bİrİnCİl ANAHTAR, YABANCI ANAHTAR veya CHECK kısıtlamasını bırakır.
Sözdizimi
DROP { PRIMARY KEY [ IF EXISTS ] [ RESTRICT | CASCADE ] |
FOREIGN KEY [ IF EXISTS ] ( column [, ...] ) |
CONSTRAINT [ IF EXISTS ] name [ RESTRICT | CASCADE ] }
Parametreler
BIRINCIL ANAHTAR [ VARSA]
Şunlar için geçerlidir: Yalnızca Databricks SQL Databricks Runtime 11.3 LTS ve üzeri Unity Kataloğu
Tablodan birincil anahtarı bırakır.
FOREIGN KEY [ IF EXISTS ] ( column [, ...] )
Şunlar için geçerlidir: Yalnızca Databricks SQL Databricks Runtime 11.3 LTS ve üzeri Unity Kataloğu
Sıralı sütun listesi tarafından tanımlanan yabancı anahtarı bırakır.
CONSTRAINT [ IF EXISTS ] name
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 bırakılabilir.
RESTRICT veya CASCADE
Belirtirseniz
RESTRICT
ve birincil anahtara herhangi bir yabancı anahtar tarafından başvurulursa, deyimi başarısız olur. belirtirsenizCASCADE
, birincil anahtarın bırakılması tabloya başvuran yabancı anahtarların bırakılmasıyla sonuçlanırsa. Varsayılan değer:RESTRICT
.VARSA
IF EXISTS
Tabloda eşleşen bir kısıtlama yoksa deyimi 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;