Delen via


DROP CONSTRAINT-clausule

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime

Hiermee wordt een PRIMAIRE SLEUTEL, REFERERENDE SLEUTEL of CHECK-constraint uit de tableverwijderd.

Syntaxis

DROP { PRIMARY KEY [ IF EXISTS ] [ RESTRICT | CASCADE ] |
       FOREIGN KEY [ IF EXISTS ] ( column [, ...] ) |
       CONSTRAINT [ IF EXISTS ] name [ RESTRICT | CASCADE ] }

Parameters

  • PRIMAIRE SLEUTEL [ INDIEN AANWEZIG ]

    nl-NL: Van toepassing op:aangevinkt Databricks SQL aangevinkt Databricks Runtime 11.3 LTS en hoger aangevinkt Unity Catalog alleen

    Hiermee wordt de primaire sleutel uit de tableverwijderd.

  • VREEMDE SLEUTEL [ ALS BESTAAT ] ( column [, ...] )

    Van toepassing op:aangevinkt ja Databricks SQL aangevinkt ja Databricks Runtime 11.3 LTS en hoger aangevinkt ja Unity Catalog alleen

    Hiermee wordt de refererende sleutel verwijderd die wordt geïdentificeerd door de geordende list van columns.

  • CONSTRAINT [INDIEN AANWEZIG] Naam

    Verwijdert de primaire sleutel, de refererende sleutel of de controlebeperking constraint 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 CASCADEopgeeft, leidt het verwijderen van de primaire sleutel tot het verwijderen van vreemde sleutels die naar de tableverwijzen. De standaardwaarde is RESTRICT.

  • INDIEN AANWEZIG

    Als u IF EXISTS opgeeft, wordt de uitspraak genegeerd wanneer de table geen overeenkomende constraintheeft.

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;