我已经创建了两个表
create table ref1(id varchar2(3) primary key);
create table ref2(id varchar2(3) primary key);现在,我想创建第三个表,其中包含一个列,作为外键,用于ref1.id和key 2.id。
create table actual(p varchar2(3) );我该怎么做呢?
发布于 2012-10-11 11:37:07
你可以试试这个:
CREATE TABLE ref1
(
id VARCHAR2(3) PRIMARY KEY
);
CREATE TABLE ref2
(
id VARCHAR2(3) PRIMARY KEY
);
CREATE TABLE look
(
p VARCHAR2(3),
CONSTRAINT fk_p_ref1 FOREIGN KEY (p) REFERENCES ref1(id),
CONSTRAINT fk_p_ref2 FOREIGN KEY (p) REFERENCES ref2(id)
);在10G R2服务器上进行测试,没有任何抱怨(尚未)。
简单测试结果:
SQL> insert into ref1 (id) values ('abc');
1 row created.
SQL> insert into ref2 (id) values ('def');
1 row created.
SQL> insert into look (p) values ('abc');
insert into look (p) values ('abc')
*
ERROR at line 1:
ORA-02291: integrity constraint (LINEQZ.FK_P_REF2) violated - parent key not
found
SQL> insert into ref2 (id) values ('abc');
1 row created.
SQL> insert into look (p) values ('abc');
1 row created.https://dba.stackexchange.com/questions/26944
复制相似问题