有两张表,一张student表有列 classid,classname。另一张表为protect 有列protectid,protectname,classid,clicknum。
现在想创建一个触发器,删除表protect的中的记录也删除student中的记录。怎么创建。
插入主表student中的数据,对应的从表protect的classid列也插入数据,这个触发器又怎么建。
现在想创建一个触发器,删除表protect的中的记录也删除student中的记录。怎么创建。
插入主表student中的数据,对应的从表protect的classid列也插入数据,这个触发器又怎么建。
create or replace trigger delete_tri
on protect after delete
for each row
begin
delete student where classid=:old.classid;
end;--还有一个自己写吧,都是挺简单的
假如表有字段id
记住 在insert 的时候 :new.id 表示插入的id, 无:old.id
在update 的时候 :new.id表示修改过后id号,:old.id表示修改前的id
delete 的时候,:old.id 表示删除的id号。 无:new.id
on protect after delete
for each rowbegin
delete student where classid = :old.classid;
end;create or replace trigger trg_protect
on student after insert
for each rowbegin
insert into protect values(:new.classid,:new.xxx);--你想要插入的字段
end;
--修改下:
create or replace trigger trg_student
on protect after delete
for each rowbegin
delete * from student where classid = :old.classid;
end;create or replace trigger trg_protect
on student after insert
for each rowbegin
insert into protect(protectid,protectname,classid,clicknum) values('xxx','xxx',:new.classid,'xxx');--xxx是其他的字段,我不知道你想要从哪里去取
end;
on protect after delete
for each rowbegin
delete student where classid = :old.classid;
end;create or replace trigger trg_protect
on student after insert
for each rowbegin
insert into protect values(:new.classid,:new.xxx);
end;
after delete on protect