Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz 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 CatalogOdrzuca klucz podstawowy z relacji.
KLUCZ OBCY [ JEŚLI ISTNIEJE ] ( kolumna [, ...] )
Dotyczy:
Databricks SQL
Databricks Runtime 11.3 LTS i nowsze
tylko Unity CatalogUsuwa 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;