oracle 中foreign key约束可以加在行级别上么
答案:2 悬赏:0 手机版
解决时间 2021-01-08 17:23
- 提问者网友:雾里闻花香
- 2021-01-07 20:36
oracle 中foreign key约束可以加在行级别上么
最佳答案
- 五星知识达人网友:第幾種人
- 2021-01-07 21:03
外键约束有行级和表级两种。
行级:单列外键放在行级上定义。
表级:复合列外键放在表级上定义。
例:
Create Table T_xsml ( --学生表
xsbh char(8) Primary Key,
xsxm varchar2(8) Not null,
xsxb char(1));
Create Table T_kcml ( --课程表
zybm char(3), --专业编码
zymc varchar(20),
kcbm char (4),
primary key (zybm,kcbm));
Create Table T_xscjb ( --成绩表
xsbh char(8) References T_sxml, --学生表外键
zybm char(3),
kcbm char(4),
pscj varchar2(6),
kscj varchar2(6),
Foreign Key (zybm,kcbm) References T_kcml(zybm,kcbm)); --课程表外键
行级:单列外键放在行级上定义。
表级:复合列外键放在表级上定义。
例:
Create Table T_xsml ( --学生表
xsbh char(8) Primary Key,
xsxm varchar2(8) Not null,
xsxb char(1));
Create Table T_kcml ( --课程表
zybm char(3), --专业编码
zymc varchar(20),
kcbm char (4),
primary key (zybm,kcbm));
Create Table T_xscjb ( --成绩表
xsbh char(8) References T_sxml, --学生表外键
zybm char(3),
kcbm char(4),
pscj varchar2(6),
kscj varchar2(6),
Foreign Key (zybm,kcbm) References T_kcml(zybm,kcbm)); --课程表外键
全部回答
- 1楼网友:我住北渡口
- 2021-01-07 22:10
什么意思?
某一行 引用 A表主键,
另一行 引用 B表主键?
这样肯定不行。追问啊,就是这么写行么:
create table test1(
t1_id number primary key
);
create table test2(
t2_id number,
t_other_id number foreign key (t_other_id) references test1(t1_id)
)追答这样,当然可以了。
某一行 引用 A表主键,
另一行 引用 B表主键?
这样肯定不行。追问啊,就是这么写行么:
create table test1(
t1_id number primary key
);
create table test2(
t2_id number,
t_other_id number foreign key (t_other_id) references test1(t1_id)
)追答这样,当然可以了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯