日期:2014-05-17  浏览次数:21054 次

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='张三';

------解决方案--------------------
没结贴?