反正有没有引用UNIQUE

时间:2012-03-05 12:23:06

标签: sql oracle oracle11g

我试图将引用从一个表插入另一个表但我需要引用为UNIQUE。由于数据只能在该表中出现一次。

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

1 个答案:

答案 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)