首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

求解一个删除记录的SQL语句~该怎么解决

2012-03-30 
求解一个删除记录的SQL语句~~createtablestudent(sidchar(10)primarykey,//学号statuschar(6),//状态check

求解一个删除记录的SQL语句~~
create   table   student
(
    sid   char(10)   primary   key,   //学号
    status   char(6),   //状态
    check(status   in   ( 'in ', 'out ')),//在籍,开除
);

create   table   score
(
    sid   char(10),//学号
    eid   varchar(5),   //eid为考试ID号,应该用不到
    grade   number(4,1),//成绩
    primary   key   (sid,eid),
    foreign   key   (sid)   references   student   (sid),
    foreign   key   (eid)   references   exam   (eid),
);

删除所有学生的状态为开除的学生表和成绩表数据。

用SQL。。。

[解决办法]
1, 先删除成绩表
DELETE FROM score A
WHERE EXISTS (SELECT 1 FROM student WHERE sid = A.sid AND status = 'out ')

2, 再删除学生表
DELETE FROM student WHERE status = 'out '

热点排行
Bad Request.