DROP CONSTRAINT-component
Van toepassing op: Databricks SQL Databricks Runtime
Hiermee wordt een PRIMAIRE SLEUTEL, REFERERENDE SLEUTEL of CHECK-beperking uit de tabel verwijderd.
Syntaxis
DROP { PRIMARY KEY [ IF EXISTS ] [ RESTRICT | CASCADE ] |
FOREIGN KEY [ IF EXISTS ] ( column [, ...] ) |
CONSTRAINT [ IF EXISTS ] name [ RESTRICT | CASCADE ] }
Parameters
PRIMAIRE SLEUTEL [ INDIEN AANWEZIG ]
Van toepassing op: Alleen Databricks SQL Databricks Runtime 11.3 LTS en hoger dan Unity Catalog
Hiermee wordt de primaire sleutel uit de tabel verwijderd.
REFERERENDE SLEUTEL [ INDIEN AANWEZIG ] ( kolom [, ...] )
Van toepassing op: Alleen Databricks SQL Databricks Runtime 11.3 LTS en hoger dan Unity Catalog
Hiermee wordt de refererende sleutel verwijderd die is geïdentificeerd door de geordende lijst met kolommen.
CONSTRAINT [ IF EXISTS ] name
Hiermee wordt de primaire sleutel, refererende sleutel of controlebeperking verwijderd die wordt geïdentificeerd door de naam. Controlebeperkingen kunnen alleen worden verwijderd op naam.
BEPERKEN OF TRAPSGEWIJS
Als u opgeeft
RESTRICT
en de primaire sleutel wordt verwezen door een refererende sleutel, mislukt de instructie. Als u opgeeftCASCADE
, resulteert het verwijderen van de primaire sleutel in het verwijderen van refererende sleutels naar de tabel. De standaardwaarde isRESTRICT
.INDIEN AANWEZIG
Als u de instructie opgeeft
IF EXISTS
, wordt genegeerd als de tabel geen overeenkomende beperking heeft.
Voorbeelden
> 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;