Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: Databricks SQL
Databricks Runtime
Usuwa ograniczenie PRIMARY KEY
, FOREIGN KEY
lub CHECK
z relacji.
Składnia
DROP { PRIMARY KEY [ IF EXISTS ] [ RESTRICT | CASCADE ] |
FOREIGN KEY [ IF EXISTS ] ( column [, ...] ) |
CONSTRAINT [ IF EXISTS ] name [ RESTRICT | CASCADE ] }
Parametry
KLUCZ PODSTAWOWY [ JEŚLI ISTNIEJE ]
Dotyczy:
Databricks SQL
Databricks Runtime 11.3 LTS i nowsze
tylko Unity Catalog
Odrzuca klucz podstawowy z relacji.
KLUCZ OBCY [ JEŚLI ISTNIEJE ] ( kolumna [, ...] )
Dotyczy:
Databricks SQL
Databricks Runtime 11.3 LTS i nowsze
tylko Unity Catalog
Usuwa klucz obcy zidentyfikowany przez uporządkowaną listę kolumn.
CONSTRAINT [ JEŚLI ISTNIEJE ] nazwa
Usuwa klucz podstawowy, klucz obcy lub ograniczenie sprawdzania zidentyfikowane przez nazwę. Ograniczenia sprawdzania można usunąć tylko według nazwy.
OGRANICZ lub CASCADE
Po określeniu
RESTRICT
, a klucz podstawowy jest przywoływany przez dowolny klucz obcy, instrukcja kończy się niepowodzeniem. Po określeniuCASCADE
, usunięcie klucza podstawowego skutkuje usunięciem wszystkich kluczy obcych odwołujących się do tej relacji. Wartość domyślna toRESTRICT
.JEŚLI ISTNIEJE
Kiedy określisz
IF EXISTS
, instrukcja jest ignorowana, jeśli relacja nie ma pasującego ograniczenia.
Przykłady
> 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;