Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: Databricks SQL
Databricks Runtime
Elimina un PRIMARY KEY
vincolo , FOREIGN KEY
o CHECK
dalla relazione.
Sintassi
DROP { PRIMARY KEY [ IF EXISTS ] [ RESTRICT | CASCADE ] |
FOREIGN KEY [ IF EXISTS ] ( column [, ...] ) |
CONSTRAINT [ IF EXISTS ] name [ RESTRICT | CASCADE ] }
Parametri
CHIAVE PRIMARIA [ SE ESISTE ]
Si applica a:
Databricks SQL
Databricks Runtime 11.3 LTS e versioni successive
Unity Catalog
Elimina la chiave primaria dalla relazione.
CHIAVE ESTERNA [ SE ESISTE ] ( colonna [, ...] )
Si applica a:
Databricks SQL
Databricks Runtime 11.3 LTS e versioni successive
Unity Catalog
Elimina la chiave esterna identificata dall'elenco ordinato delle colonne.
CONSTRAINT [ SE ESISTE ] nome
Elimina la chiave primaria, la chiave esterna o il vincolo CHECK identificato dal nome. i vincoli check possono essere eliminati solo in base al nome.
RESTRICT o CASCADE
Quando si specifica
RESTRICT
e viene fatto riferimento alla chiave primaria da qualsiasi chiave esterna, l'istruzione ha esito negativo. Quando si specificaCASCADE
, l'eliminazione della chiave primaria comporta l'eliminazione di eventuali chiavi esterne che fanno riferimento alla relazione. Il valore predefinito èRESTRICT
.SE ESISTE
Quando si specifica
IF EXISTS
, l'istruzione viene ignorata se la relazione non ha vincoli corrispondenti.
Esempi
> 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;