本帖最后由 lpfvip2008 于 2010-06-20 13:26:16 编辑

解决方案 »

  1.   

    update  course set sno=:new.sno where sno=:OLD.sno;
      

  2.   

    把错误贴出来 另外course 的sno 依赖dstudent 的sno 吧
      

  3.   

    create table student(
    sno char(11),
    sname char(20),
    ssex char(2)
    );
    create table course (
    cno char(10) primary key,
    cname char(30) ,
    ccredit smallint
    );
    create table sc(
    sno char(11),
    cno char(10),
    grade smallint,
    primary key (sno,cno),
    foreign key(cno) references course(cno),
    foreign key(sno) references dstudent(sno));
      

  4.   


    alter table tb
    drop constraint 外键名
      

  5.   

    首先你写这个触发器干什么   
    从你上面说的  我的理解是 
    你想写个触发器,当student表中的学生学号更新后,被修改的学号在sc表中的记录的学号列也对应的做出更改
    那么可以这样写
    create or replace trigger limit_snochange
    after update of sno on student
    for each row
    begin
      update sc set sno=:new.sno where sno=:old.sno;
    end;
      

  6.   


    create or replace trigger limit_snochange
    after update of sno on dstudent
    for each row
    begin
    update course set sno=:new.sno where sno=:old.sno;
    end;