加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从oracle中的两个不同的表主键创建复合外键

发布时间:2021-01-11 17:42:31 所属栏目:百科 来源:网络整理
导读:表格1: tid(主键)//这里没有外键 表2: sid(主键)//这里也没有外键 表3: Tid Sid iid(primary key) foreign key(Tid,Sid) references table1(tid).table2(sid) In table3 i want to make a composite foreign key or composite foreign key constraint b

表格1:

tid(主键)//这里没有外键

表2:

sid(主键)//这里也没有外键

表3:

Tid
 Sid
 iid(primary key)
 foreign key(Tid,Sid) references table1(tid).table2(sid)

 In table3 i want to make a composite foreign key or composite foreign key constraint but failed . there are many questions related to this .But none of them seems helpful to me . How can i do that ? Is it valid ? Then what is the syntax of making composite foreign key from two different tables primary key

解决方法

不可能在不同的表上引用单个外键引用字段,这根本没有意义.两个或多个字段的外键意味着字段值的组合必须在引用表的单个记录上匹配,如果引用的字段位于不同的表上,则无法完成此操作.

您可以做的是为两个表创建两个不同的外键,如下所示:

CREATE TABLE table3(
    iid NUMBER,Tid NUMBER,Sid NUMBER,CONSTRAINT pk    PRIMARY KEY (iid) USING INDEX TABLESPACE idx,CONSTRAINT fk001 FOREIGN KEY (tid) REFERENCES table1(tid),CONSTRAINT fk002 FOREIGN KEY (sid) REFERENCES table2(sid)
);

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!