Klausa DROP CONSTRAINT

Penting

Fitur ini ada di Pratinjau Publik.

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Menghilangkan batasan PRIMARY KEY, FOREIGN KEY, atau CHECK dari tabel.

Sintaks

DROP { PRIMARY KEY [ IF EXISTS ] [ RESTRICT | CASCADE ] |
       FOREIGN KEY [ IF EXISTS ] ( column [, ...] ) |
       CONSTRAINT [ IF EXISTS ] name [ RESTRICT | CASCADE ] }

Parameter

  • KUNCI PRIMER [ JIKA ADA ]

    Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 11.3 LTS dan di atas centang ditandai ya Unity Catalog saja

    Menjatuhkan kunci primer dari tabel.

  • KUNCI ASING [ JIKA ADA ] ( kolom [, ...] )

    Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 11.3 LTS dan di atas centang ditandai ya Unity Catalog saja

    Menghilangkan kunci asing yang diidentifikasi oleh daftar kolom yang diurutkan.

  • BATASAN [ JIKA ADA ] nama

    Menghilangkan kunci primer, kunci asing, atau memeriksa batasan yang diidentifikasi berdasarkan nama. Batasan pemeriksaan hanya dapat dihilangkan menurut nama.

  • BATASI atau CASCADE

    Jika Anda menentukan RESTRICT dan kunci primer dirujuk oleh kunci asing apa pun, pernyataan akan gagal. Jika Anda menentukan CASCADE, menghilangkan kunci utama menghasilkan menghilangkan kunci asing yang mereferensikan tabel. Anda harus memiliki tabel tempat kunci asing ditentukan. Default adalah RESTRICT.

  • JIKA ADA

    Jika Anda menentukan IF EXISTS pernyataan akan diabaikan jika tabel tidak memiliki batasan yang cocok.

Contoh

> 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;