Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: Databricks SQL
Databricks Runtime
Elimina una PRIMARY KEY
, FOREIGN KEY
o CHECK
restricción de la relación.
Sintaxis
DROP { PRIMARY KEY [ IF EXISTS ] [ RESTRICT | CASCADE ] |
FOREIGN KEY [ IF EXISTS ] ( column [, ...] ) |
CONSTRAINT [ IF EXISTS ] name [ RESTRICT | CASCADE ] }
Parámetros
LLAVE PRIMARIA [ SI EXISTE ]
Se aplica a:
Databricks SQL
Databricks Runtime 11.3 LTS y versiones posteriores
solo a Unity Catalog
Elimina la clave principal de la relación.
FOREIGN KEY [ IF EXISTS ] ( columna [, …] )
Se aplica a:
Databricks SQL
Databricks Runtime 11.3 LTS y versiones posteriores
solo a Unity Catalog
Elimina la clave externa identificada por la lista ordenada de columnas.
CONSTRAINT [ SI EXISTE ] nombre
Elimina la clave principal, la clave externa o la restricción de comprobación identificada por el nombre. Las restricciones de comprobación solo se pueden eliminar por nombre.
RESTRICT o CASCADE
Cuando se especifica
RESTRICT
y cualquier clave externa hace referencia a la clave principal, la instrucción falla. Cuando se especificaCASCADE
, si se quita la clave principal, se quita cualquier clave externa que haga referencia a la relación. El valor predeterminado esRESTRICT
.SI EXISTE
Cuando se especifica
IF EXISTS
, se ignora la declaración si la relación no tiene ninguna restricción coincidente.
Ejemplos
> 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;