Rumah > Artikel > pangkalan data > Bagaimana untuk memadamkan kekangan unik dalam oracle
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;".
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 ... );
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 ... );
Dan jika anda mahu memadamkan kekangan unik:
ALTER TABLE 数据表名 DROP CONSTRAINT 唯一约束名;
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) );
lajur mempunyai kekangan unik untuk memastikan tiada e-mel pendua. email
: clients
INSERT INTO clients(first_name,last_name, email, company_name, phone) VALUES('Christene','Snider','we.chen@oraok.com', 'ABC Inc', '408-875-6075');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('Sherly','Snider','we.chen@oraok.com', 'ABC Inc', '408-875-6076');Oracle mengeluarkan mesej ralat berikut yang menunjukkan pelanggaran kekangan unik:
SQL Error: ORA-00001: unique constraint (OT.SYS_C0010726) violatedJika 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);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;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!