Rumah > pangkalan data > Oracle > teks badan

Bagaimana untuk memadamkan kekangan unik dalam oracle

青灯夜游
Lepaskan: 2022-03-16 16:24:51
asal
9694 orang telah melayarinya

Dalam Oracle, anda boleh menggunakan pernyataan "ALTER TABLE" dan kata kunci "DROP CONSTRAINT" untuk memadamkan kekangan unik Sintaksnya ialah "ALTER TABLE nama jadual data DROP CONSTRAINT nama kekangan unik;".

Bagaimana untuk memadamkan kekangan unik dalam oracle

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi Oracle 11g, komputer Dell G3.

Kekangan unik Oracle

Kekangan unik bermakna nilai medan tidak boleh diulang dalam semua rekod.

Kekangan unik ialah kekangan integriti yang memastikan data yang disimpan dalam lajur atau set lajur adalah unik merentas baris dalam jadual.

Biasanya, apabila mencipta jadual menggunakan sintaks kekangan sebaris, kekangan unik digunakan pada lajur seperti berikut:

CREATE TABLE table_name (
    ...
    column_name data_type UNIQUE
    ...
);
Salin selepas log masuk

Kekangan unik ini menentukan bahawa nilai dalam column_name digunakan sepanjang Ia adalah satu-satunya dalam jadual.

Anda boleh menentukan nama kekangan yang unik dengan menggunakan klausa CONSTRAINT dan nama kekangan:

CREATE TABLE table_name (
    ...
    column_name data_type CONSTRAINT unique_constraint_name UNIQUE
    ...
);
Salin selepas log masuk

Dan jika anda mahu memadamkan kekangan unik:

ALTER TABLE 数据表名
DROP CONSTRAINT 唯一约束名;
Salin selepas log masuk

Contoh:

Buat jadual bernama clients:

CREATE TABLE clients (
    client_id NUMBER GENERATED BY DEFAULT AS IDENTITY,
    first_name VARCHAR2(50) NOT NULL,
    last_name VARCHAR2(50) NOT NULL,
    company_name VARCHAR2(255) NOT NULL,
    email VARCHAR2(255) NOT NULL UNIQUE,
    phone VARCHAR(25)
);
Salin selepas log masuk
< The 🎜 >

lajur mempunyai kekangan unik untuk memastikan tiada e-mel pendua. email

Pernyataan berikut menyisipkan baris dalam jadual

: clients

INSERT INTO clients(first_name,last_name, email, company_name, phone)
VALUES(&#39;Christene&#39;,&#39;Snider&#39;,&#39;we.chen@oraok.com&#39;, &#39;ABC Inc&#39;, &#39;408-875-6075&#39;);
Salin selepas log masuk
Sekarang, kami cuba memasukkan baris baharu dalam lajur

di mana nilai e-mel sudah wujud: email

INSERT INTO clients(first_name,last_name, email, company_name, phone)
VALUES(&#39;Sherly&#39;,&#39;Snider&#39;,&#39;we.chen@oraok.com&#39;, &#39;ABC Inc&#39;, &#39;408-875-6076&#39;);
Salin selepas log masuk
Oracle mengeluarkan mesej ralat berikut yang menunjukkan pelanggaran kekangan unik:

SQL Error: ORA-00001: unique constraint (OT.SYS_C0010726) violated
Salin selepas log masuk
Jika anda ingin menambah kekangan unik untuk dua lajur:

dan company_name, anda boleh menggunakanphone Pernyataan berikut: ALTER TABLE

ALTER TABLE clients
ADD CONSTRAINT unique_company_phone UNIQUE(company_name, phone);
Salin selepas log masuk
Akibatnya, gabungan nilai dalam lajur

dan company_name adalah unik antara baris dalam jadual phone . clients

Untuk memadamkan kekangan unik , sila gunakan pernyataan berikut: UNIQUE_COMPANY_PHONE

ALTER TABLE clients
DROP CONSTRAINT unique_company_phone;
Salin selepas log masuk
Tutorial yang disyorkan: "

Tutorial Oracle "

Atas ialah kandungan terperinci Bagaimana untuk memadamkan kekangan unik dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan