Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:
Databricks SQL
Databricks Runtime
Удаляет значение PRIMARY KEY, FOREIGN KEYUNIQUEили CHECK ограничение из отношения.
Синтаксис
DROP { PRIMARY KEY [ IF EXISTS ] [ RESTRICT | CASCADE ] |
FOREIGN KEY [ IF EXISTS ] ( column [, ...] ) |
CONSTRAINT [ IF EXISTS ] name [ RESTRICT | CASCADE ] }
Параметры
PRIMARY KEY [если существует]
применяется:
Databricks SQL
Databricks Runtime 11.3 LTS и выше
только для Unity CatalogУдаляет первичный ключ из отношения.
ВНЕШНИЙ КЛЮЧ [ ЕСЛИ СУЩЕСТВУЕТ] ( столбец [, ...] )
применяется:
Databricks SQL
Databricks Runtime 11.3 LTS и выше
только для Unity CatalogУдаляет внешний ключ, определяемый упорядоченным списком столбцов.
CONSTRAINT [ ЕСЛИ СУЩЕСТВУЕТ ] имя
Удаляет первичный ключ, внешний ключ, уникальный или проверяемый ограничение, определяемое по имени. Проверка и уникальные ограничения должны быть удалены по имени.
RESTRICT или CASCADE
При указании
RESTRICTпервичного ключа или уникального ограничения ссылается любой внешний ключ, инструкция завершается ошибкой. При указанииCASCADEудаление первичного ключа или уникального ограничения приводит к удалению внешних ключей, ссылающихся на отношение. Значение по умолчанию —RESTRICT.ЕСЛИ СУЩЕСТВУЕТ
При указании
IF EXISTSоператор игнорируется, если отношение не имеет соответствующее ограничение.
Примеры
> 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;