首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在甲骨文10g中使用双外键

如何在甲骨文10g中使用双外键
EN

Database Administration用户
提问于 2012-10-11 10:38:12
回答 1查看 10.3K关注 0票数 5

我已经创建了两个表

代码语言:javascript
复制
create table ref1(id varchar2(3) primary key);
create table ref2(id varchar2(3) primary key);

现在,我想创建第三个表,其中包含一个列,作为外键,用于ref1.id和key 2.id。

代码语言:javascript
复制
create table actual(p varchar2(3) );

我该怎么做呢?

EN

回答 1

Database Administration用户

发布于 2012-10-11 11:37:07

你可以试试这个:

代码语言:javascript
复制
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服务器上进行测试,没有任何抱怨(尚未)。

编辑

简单测试结果:

代码语言:javascript
复制
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.
票数 14
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/26944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档