Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Databricks SQL
Databricks Runtime
Удаляет ограничение PRIMARY KEY
, FOREIGN KEY
или 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;