oracle中foreign的问题!
答案:2 悬赏:80 手机版
解决时间 2021-03-15 22:25
- 提问者网友:戎马万世
- 2021-03-15 08:10
在oracle中用system登陆后,在做表的foreign约束条件时出现“必须指定引用方案名”的错误提示,请问是什么原因啊?需要怎样改进啊?
最佳答案
- 五星知识达人网友:你哪知我潦倒为你
- 2021-03-15 09:16
加外键当然要引用其它表的值啊
比如学生表(student),它里面有个batchno,是里拿班级表(batch)里的班级号(batchno)作外键,也就是说学生表里的班级号(batchno)是从班级表中取出来的,
alter table student
add constraint stu_batchno_fk foreign key(batchno)
references batch(batchno);这个batch表就相当于你要的必须指定引用方案名了.
比如学生表(student),它里面有个batchno,是里拿班级表(batch)里的班级号(batchno)作外键,也就是说学生表里的班级号(batchno)是从班级表中取出来的,
alter table student
add constraint stu_batchno_fk foreign key(batchno)
references batch(batchno);这个batch表就相当于你要的必须指定引用方案名了.
全部回答
- 1楼网友:拜訪者
- 2021-03-15 09:35
外键约束有行级和表级两种。
行级:单列外键放在行级上定义。
表级:复合列外键放在表级上定义。
例:
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)); --课程表外键
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯