Partilhar via


DROP CONSTRAINT cláusula

Aplica-se a:Marque Sim Databricks SQL Marque Sim Databricks Runtime

Descarta um PRIMARY KEY, FOREIGN KEY, ou CHECK restrição da relação.

Sintaxe

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

Parâmetros

  • CHAVE PRIMÁRIA [ SE EXISTIR ]

    Aplica-se a:assinalado como sim Databricks SQL assinalado como sim Databricks Runtime 11.3 LTS ou versões superiores assinalado como sim somente Catálogo Unity

    Descarta a chave primária da relação.

  • CHAVE ESTRANGEIRA [ SE EXISTIR ] ( coluna [, ...] )

    Aplica-se a:assinalado como sim Databricks SQL assinalado como sim Databricks Runtime 11.3 LTS ou versões superiores assinalado como sim somente Catálogo Unity

    Descarta a chave estrangeira identificada pela lista ordenada de colunas.

  • CONSTRAINT [ SE EXISTE ] nome

    Descarta a chave primária, a chave estrangeira ou a restrição de verificação identificada pelo nome. As restrições de verificação só podem ser descartadas pelo nome.

  • RESTRINGIR ou CASCATA

    Quando você especifica RESTRICT, e a chave primária é referenciada por qualquer chave estrangeira, a instrução falha. Quando você especifica CASCADE, descartar a chave primária resulta em descartar quaisquer chaves estrangeiras que façam referência à relação. A predefinição é RESTRICT.

  • SE EXISTE

    Quando especifica IF EXISTS, a instrução é ignorada se a relação não tiver nenhuma restrição correspondente.

Exemplos

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