Bagikan melalui


klausa DROP CONSTRAINT

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

PRIMARY KEYMenghilangkan batasan , FOREIGN KEY, atau CHECK dari relasi.

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 yaDatabricks SQL centang ditandai ya Databricks Runtime 11.3 LTS dan di atas centang ditandai ya Unity Catalog saja

    Menghilangkan kunci primer dari relasi.

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

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

    Menghapus kunci asing yang diidentifikasi oleh daftar kolom yang diurutkan.

  • CONSTRAINT [ JIKA ADA ] nama

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

  • RESTRICT atau CASCADE

    Ketika Anda menentukan RESTRICT, dan kunci primer dirujuk oleh kunci asing apa pun, pernyataan gagal. Saat Anda menentukan CASCADE, menghilangkan kunci utama menghasilkan menghilangkan kunci asing yang mereferensikan hubungan. Default adalah RESTRICT.

  • JIKA ADA

    Saat Anda menentukan IF EXISTS, pernyataan diabaikan jika hubungan 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;