Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: Databricks SQL
Databricks Runtime
Z relace se odstraní omezení PRIMARY KEY
, FOREIGN KEY
nebo CHECK
.
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šší
Unity Catalog.
Zahodí primární klíč z relace.
CIZÍ KLÍČ [ POKUD EXISTUJE ] ( sloupec [; ...] )
platí pro:
Databricks SQL
Databricks Runtime 11.3 LTS a vyšší
Unity Catalog.
Odstraní cizí klíč identifikovaný seřazeným seznamem sloupců.
CONSTRAINT [ POKUD EXISTUJE ] název
Zahodí primární klíč, cizí klíč nebo zkontroluje omezení identifikované názvem. Omezení kontroly lze zrušit pouze podle názvu.
RESTRICT nebo CASCADE
Při zadání
RESTRICT
, a když je primární klíč odkazován libovolným cizím klíčem, příkaz selže. Když zadáteCASCADE
, vyřazení primárního klíče způsobí vyřazení cizích klíčů odkazujících na vztah. Výchozí hodnota jeRESTRICT
.POKUD EXISTUJE
Pokud zadáte
IF EXISTS
, příkaz bude ignorován, pokud relace 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;