Delen via


DROP CONSTRAINT-component

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan 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:vinkje als ja aan Alleen Databricks SQL vinkje als ja aan Databricks Runtime 11.3 LTS en hoger vinkje als ja aan dan Unity Catalog

    Hiermee wordt de primaire sleutel uit de tabel verwijderd.

  • REFERERENDE SLEUTEL [ INDIEN AANWEZIG ] ( kolom [, ...] )

    Van toepassing op:vinkje als ja aan Alleen Databricks SQL vinkje als ja aan Databricks Runtime 11.3 LTS en hoger vinkje als ja aan 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 opgeeft CASCADE, resulteert het verwijderen van de primaire sleutel in het verwijderen van refererende sleutels naar de tabel. U moet de eigenaar zijn van de tabellen waarop de refererende sleutels zijn gedefinieerd. De standaardwaarde is RESTRICT.

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