Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: SQL do Databricks
Databricks Runtime
Remove uma restrição PRIMARY KEY
, FOREIGN KEY
ou CHECK
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 EXISTE ]
Aplica-se a:
SQL do Databricks
Databricks Runtime 11.3 LTS e versões posteriores
Somente Catálogo do Unity
Remove a chave primária da relação.
CHAVE ESTRANGEIRA [ SE EXISTIR ] ( coluna [, ...] )
Aplica-se a:
SQL do Databricks
Databricks Runtime 11.3 LTS e versões posteriores
Somente Catálogo do Unity
Remove a chave estrangeira identificada pela lista ordenada de colunas.
CONSTRAINT [ SE EXISTIR ] nome
Remove 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 removidas pelo nome.
RESTRICT ou CASCADE
Quando você especifica
RESTRICT
e a chave primária é referenciada por qualquer chave estrangeira, a instrução falha. Quando você especificaCASCADE
, remover a chave primária resulta na remoção de quaisquer chaves estrangeiras que referenciem a relação. O padrão éRESTRICT
.SE EXISTE
Quando você especificar
IF EXISTS
, a instrução será 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;