Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :
Databricks SQL
Databricks Runtime
Supprime une contrainte , ou FOREIGN KEYUNIQUECHECK une PRIMARY KEYcontrainte de la relation.
Syntaxe
DROP { PRIMARY KEY [ IF EXISTS ] [ RESTRICT | CASCADE ] |
FOREIGN KEY [ IF EXISTS ] ( column [, ...] ) |
CONSTRAINT [ IF EXISTS ] name [ RESTRICT | CASCADE ] }
Paramètres
CLÉ PRIMAIRE [ S’IL EXISTE ]
S’applique à :
Databricks SQL
Databricks Runtime 11.3 LTS et versions ultérieures
Unity Catalog uniquementSupprime la clé primaire de la relation.
FOREIGN KEY [ IF EXISTS ] ( colonne [, …] )
S’applique à :
Databricks SQL
Databricks Runtime 11.3 LTS et versions ultérieures
Unity Catalog uniquementSupprime la clé étrangère identifiée par la liste ordonnée des colonnes.
CONSTRAINT [ SI EXISTE ] nom
Supprime la clé primaire, la clé étrangère, la contrainte unique ou de vérification identifiée par son nom. Les contraintes de vérification et uniques doivent être supprimées par nom.
RESTRICT ou CASCADE
Lorsque vous spécifiez
RESTRICT, et que la clé primaire ou la contrainte unique est référencée par n’importe quelle clé étrangère, l’instruction échoue. Lorsque vous spécifiezCASCADE, la suppression de la clé primaire ou de la contrainte unique entraîne la suppression de toutes les clés étrangères référençant la relation. Par défaut, il s’agit deRESTRICT.S’IL EXISTE
Lorsque vous spécifiez
IF EXISTS, l’instruction est ignorée si la relation n’a aucune contrainte correspondante.
Exemples
> 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;