Klauzule DROP CONSTRAINT
Platí pro: Databricks SQL
Databricks Runtime
Zahodí omezení PRIMÁRNÍHO KLÍČE, CIZÍHO KLÍČE nebo CHECK z tabulky.
Syntaxe
DROP { PRIMARY KEY [ IF EXISTS ] [ RESTRICT | CASCADE ] |
FOREIGN KEY [ IF EXISTS ] ( column [, ...] ) |
CONSTRAINT [ IF EXISTS ] name [ RESTRICT | CASCADE ] }
Parametry
PRIMÁRNÍ KLÍČ [ POKUD EXISTUJE ]
Platí pro:
Databricks SQL
Databricks Runtime 11.3 LTS a vyšší
pouze katalog Unity
Zahodí primární klíč z tabulky.
CIZÍ KLÍČ [ POKUD EXISTUJE ] ( sloupec [; ...] )
Platí pro:
Databricks SQL
Databricks Runtime 11.3 LTS a vyšší
pouze katalog Unity
Zahodí cizí klíč identifikovaný seřazeným seznamem sloupců.
CONSTRAINT [ IF EXISTS ] name
Zahodí primární klíč, cizí klíč nebo zkontroluje omezení identifikované názvem. Omezení kontroly je možné zrušit pouze podle názvu.
RESTRICT nebo CASCADE
Pokud zadáte
RESTRICT
a na primární klíč odkazuje jakýkoli cizí klíč, příkaz selže. Pokud zadáteCASCADE
, vyřazení primárního klíče způsobí vyřazení cizích klíčů odkazujících na tabulku. Musíte vlastnit tabulky, na kterých jsou definovány cizí klíče. Výchozí hodnota jeRESTRICT
.POKUD EXISTUJE
Pokud zadáte
IF EXISTS
příkaz, bude ignorován, pokud tabulka nemá žádné odpovídající omezení.
Příklady
> 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;
Související články
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro