我试图将引用从一个表插入另一个表但我需要引用为UNIQUE。由于数据只能在该表中出现一次。
CREATE TABLE 1 (
id NUMBER,
obj1 REF obj1_typ REFERENCES obj1_tab UNIQUE,
obj2 REF obj2_typ REFERENCES obj2_objtab UNIQUE);
答案 0 :(得分:3)
可以用这种方式声明外键:
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)
);
其中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在表ONE中是唯一的,您可以在此列上创建唯一键,或者只创建一个唯一索引:
create unique index uk_obj1 on one(obj1)