Oracle多表查询问题。。。外键什么的求解答,表创建得有问题。。。
我建的oracle下的表
学生表
create table student
(sno varchar2(10) primary key,
sname varchar2(10)
);
课程表
create table course
(cno varchar2(10) primary key,
cname varchar2(10)
);
分数表
create table score
(sno varchar2(10) primary key,
cno varchar2(10),
score int
constraint student_fk foreign key(sno) references student(sno) on delete cascade,
constraint course_fk foreign key(cno) references course(cno) on delete cascade
);
就三张表,一张学生student(sno+sname),一张课程course(cno+cname),一张分数score(sno+cno+sorce)...
constraint student_fk foreign key(sno) references student(sno) on delete cascade,这里报错,第 5 行出现错误:
ORA-02253: 此处不允许约束条件说明
想查找一个叫张三的学生,选了哪些课程的sql语句-,-
张三,语文课程的成绩。。。(这我瞎了)。。。请大家帮助下苦逼的楼主,楼主用的是Oracle
------解决方案--------------------
你的:Oracle报,ORA-00918: 未明确定义列(sno)
是因为student和score都有sno列,因此你要加个前缀
SQL code
select student.sno --这样就不会有错了
from student,course,score where student.sno=score.sno and course.cno=score.cno and student.sname='张三';
------解决方案--------------------
没结贴?