有三张表:
学生表std(sid 主键,sname varchar)
课程表course(cid 主键,cname varchar)
成绩表score(sid 外键,cid 外键,score number)成绩表的sid和cid来自学生表和课程表。
现在需要
1.把物理成绩为100,且学生名为张三的sid改为1。
2.删除英语成绩小于60的学生信息。问题在于成绩表关联了学生表,如果把学生表的sid更新或删除,成绩表肯定要出问题的,请问如何解决这种关联表的主键删除和更新问题?
谢谢!

解决方案 »

  1.   

    修改sid为1:
    1.在学生表增加sid为1,名字为张三的信息,然后更新成绩表,最后视需要删除学生表旧sid张三的信息。
    2.依次删除成绩表、学生表张三的信息,再依次往学生表、成绩表录入正确资料。
    3.取消学生表,成绩表之主外键约束,直接修正资料,再加入主外键约束。删除英语成绩小于60的学生信息:
    可参考前面的作法。
      

  2.   

    是不是可以这样做:先把成绩表的外键约束disable掉,然后再更新学生表,更新成绩表,最后再enable成绩表的外键约束?