首先你写这个触发器干什么 从你上面说的 我的理解是 你想写个触发器,当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;
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;
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));
alter table tb
drop constraint 外键名
从你上面说的 我的理解是
你想写个触发器,当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;
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;