2012-03-05 4 views
2

ある表から別の表へ参照を挿入しようとしていますが、私は参照が一意である必要があります。データはそのテーブルに一度しか表示されません。とにかく参照を作成するUNIQUE

CREATE TABLE 1 ( id NUMBER, obj1 REF obj1_typ REFERENCES obj1_tab UNIQUE, obj2 REF obj2_typ REFERENCES obj2_objtab UNIQUE);

+0

表1の一意性がある場合は、表1(obj1)に一意の索引を作成し、obj2についても一意索引を作成できます。 –

+0

どうすればよいですか?あなたは例を挙げることができますか? – user1248090

+0

テーブル名が1の場合: '一意にインデックスを作成するuk_obj1 on(obj1)' –

答えて

3

外部キーは、このように宣言することができます。

SUPPLIER_IDはそのテーブルの主キーである
CREATE TABLE products 
( product_id numeric(10) not null, 
supplier_id numeric(10) not null, 
CONSTRAINT fk_supplier 
    FOREIGN KEY (supplier_id) 
    REFERENCES supplier(supplier_id) 
); 

CREATE TABLE supplier 
( supplier_id numeric(10) not null, 
supplier_name varchar2(50) not null, 
contact_name varchar2(50), 
CONSTRAINT supplier_pk PRIMARY KEY (supplier_id) 
); 

あなたはそのOBJ1を確保したい場合はさユニークなインデックスを作成することができます。

create unique index uk_obj1 on one(obj1) 
関連する問題