暂无图片
触发器可以触发多表吗?
我来答
分享
暂无图片 匿名用户
触发器可以触发多表吗?

触发器可以触发多表吗?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
刘贵宾

可以。例如,师生互动平台,教务处部分,删除学生的时候,许多其他表中也会有studentid这个字段,那么,如果单纯的删除basic_info_student表中的该学生,下一次,许多表在遍历的时候,就会出现,找不到学生基本信息的情况。此时,解决办法就涉及到多表触发


create or replace trigger studelete
after DELETE
ON basic_info_student
for each row
BEGIN delete from ELECOURSE_INFO_USER where Vstudentid=:old.Vstudentid;
update agreestudent set Vstudentid='0000001' where Vstudentid=:old.Vstudentid;
delete from apply_list where Vstudentid=:old.Vstudentid;
delete from discuss_App where Vstudentid=:old.Vstudentid;
delete from DM_ask where studentid=:old.Vstudentid;
delete from Dm_bbs where studentid=:old.Vstudentid;
delete from Dm_discuss where studentid=:old.Vstudentid;
delete from Dm_dminfo where studentid=:old.Vstudentid;
delete from Dm_interact where studentid=:old.Vstudentid;
delete from Dm_logon where studentid=:old.Vstudentid;
delete from Dm_qsearch where studentid=:old.Vstudentid;
delete from ELECOURSE_INFO_USER where Vstudentid=:old.Vstudentid;
update label_lesson set Vstudentid='0000001' where Vstudentid=:old.Vstudentid;
update Posts set Vpersonid='0000001' where Vpersonid=:old.Vstudentid and Ipersontype='11';
delete from ptcourse_info_user where Vstudentid=:old.Vstudentid;
update question_list set Vstudentid='0000001' where Vstudentid=:old.Vstudentid;
update Replypost set Vpersonid='0000001' where Vpersonid=:old.Vstudentid and Ipersontype='11';
update sms_list set Vsenderid='0000001' where Vsenderid=:old.Vstudentid and ISenderType='11';
delete from student_file where Vstudentid=:old.Vstudentid;
delete from student_sms where Vstudentid=:old.Vstudentid;
END studelete;

暂无图片 评论
暂无图片 有用 0
暂无图片
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏