Oracle では、「ALTER TABLE」ステートメントと「DROP CONSTRAINT」キーワードを使用して一意制約を削除できます。構文は「ALTER TABLE データ テーブル名 DROP CONSTRAINT 一意制約名;」です。
このチュートリアルの動作環境: Windows 7 システム、Oracle 11g バージョン、Dell G3 コンピューター。
#Oracle の一意制約
一意制約 は、すべてのレコードのフィールドの値が繰り返し出現できないことを意味します。
一意制約は、列または列のセットに格納されているデータがテーブル内の行間で一意であることを保証する整合性制約です。 通常、インライン制約構文を使用してテーブルを作成する場合、次のように一意制約が列に適用されます。CREATE TABLE table_name ( ... column_name data_type UNIQUE ... );
column_name Unique の値を指定します。テーブル全体で。
CREATE TABLE table_name ( ... column_name data_type CONSTRAINT unique_constraint_name UNIQUE ... );
一意の制約を削除する場合:
ALTER TABLE 数据表名 DROP CONSTRAINT 唯一约束名;
例:
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) );
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');
email 列に挿入しようとします。すでに存在します 新しい行:
INSERT INTO clients(first_name,last_name, email, company_name, phone) VALUES('Sherly','Snider','we.chen@oraok.com', 'ABC Inc', '408-875-6076');
SQL Error: ORA-00001: unique constraint (OT.SYS_C0010726) violated
company_name と
phone一意の制約を追加するには、次の
ALTER TABLE ステートメントを使用できます:
ALTER TABLE clients ADD CONSTRAINT unique_company_phone UNIQUE(company_name, phone);
company_name と
phone 列は
clients であり、テーブル内の行間で一意です。
一意制約 UNIQUE_COMPANY_PHONE を削除するには、次のステートメントを使用してください:
ALTER TABLE clients DROP CONSTRAINT unique_company_phone;
Oracle チュートリアル 」 「###
以上がOracleで一意制約を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。