DROP CONSTRAINT, klauzula

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Dotyczy:zaznacz pole wyboru oznaczone jako yes Databricks SQL check oznaczone tak 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:zaznacz pole wyboru oznaczone jako tak, zaznacz pole wyboru SQL databricks oznaczone jako tak Databricks Runtime 11.1 i powyżej zaznacz pole wyboru oznaczone jako tak Tylko wykaz aparatu Unity

    Popada klucz podstawowy z tabeli.

  • KLUCZ OBCY [ JEŚLI ISTNIEJE ] ( kolumna [, ...] )

    Dotyczy:zaznacz pole wyboru oznaczone jako tak, zaznacz pole wyboru SQL databricks oznaczone jako tak Databricks Runtime 11.1 i powyżej zaznacz pole wyboru oznaczone jako tak 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 parametru CASCADEupuszczanie 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 to RESTRICT.

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