DROP CONSTRAINT, klauzula
Ważne
Ta funkcja jest dostępna w publicznej wersji zapoznawczej.
Dotyczy: Databricks SQL Databricks Runtime
Pomija ograniczenie KLUCZ PODSTAWOWY, KLUCZ OBCY lub CHECK z tabeli.
Składni
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: SQL databricks Databricks Runtime 11.1 i powyżej Tylko wykaz aparatu Unity
Popada klucz podstawowy z tabeli.
KLUCZ OBCY [ JEŚLI ISTNIEJE ] ( kolumna [, ...] )
Dotyczy: SQL databricks Databricks Runtime 11.1 i powyżej Tylko wykaz aparatu Unity
Popada klucz obcy zidentyfikowany przez uporządkowaną listę kolumn.
CONSTRAINT [ IF EXISTS ] name (OGRANICZENIE) [ IF EXISTS ] name
Popada klucz podstawowy, klucz obcy lub sprawdź ograniczenie zidentyfikowane według nazwy. Sprawdzanie ograniczeń można zrzucić tylko według nazwy.
OGRANICZ LUB CASCADE
Jeśli określisz
RESTRICT
i klucz podstawowy zostanie przywołyny przez dowolny klucz obcy, instrukcja zakończy się niepowodzeniem. W przypadku określenia parametruCASCADE
upuszczanie klucza podstawowego powoduje usunięcie wszelkich kluczy obcych odwołującej się do tabeli. Musisz być właścicielem tabel, w których zdefiniowano klucze obce. Wartość domyślna toRESTRICT
.JEŚLI ISTNIEJE
Jeśli określisz
IF EXISTS
instrukcję, zostanie zignorowana, jeśli tabela 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;