码迷,mamicode.com
首页 > 其他好文 > 详细

触发器实现多表之间的增加、删除及更新

时间:2017-08-05 17:59:40      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:create   text   width   ext   gif   let   nbsp   技术   代码   

常见的触发器有三种:分别应用于Insert,Update,Delete事件

 

1.数据同步增加:

 

如有两张表:A表和B表,创建触发器使当A表插入数据后B表也同步插入数据。其中B表插入数据的字段需要同A表中的字段相对应。

 

技术分享
1 create trigger 触发器名称
2 on A表
3 after insert
4 as 
5 begin insert into B表(B表字段1,B表字段2,B表字段3)
6 select A表字段1,A表字段2,A表字段3
7 from inserted
8 end
技术分享

 

实例测试:

 

实现若Info_Stu有新的数据插入,则将数据的Name提取出,同步到Info_Borrow表

 

技术分享
1 create trigger triCopy_Stu2Borrow
2 on Info_Stu
3 after insert
4 as 
5 begin insert into Info_Borrow(Name) 
6 select Name from Info_Stu
7 end
技术分享

 

测试效果如下:

 

技术分享

 

 

 

2.数据同步删除:

 

如有两张表:A表和B表,创建触发器使当A表删除数据后B表也能同步删除数据。其中B表与A表应有相应主键关联。

 

1 create trigger 触发器名称
2 on A表
3 after delete
4 as begin delete B表
5 where B表主键 in(select A表主键 from deleted)
6 end

 

实例测试:

 

删除Info_Stu中的一条记录时,删除Info_Borrow中相同的记录

 

1 create trigger triDelete_Stu2Borrow
2 on Info_Stu
3 after delete
4 as begin delete Info_Borrow
5 where Name in (select Name from deleted)
6 end

 

测试效果如下:

 

技术分享

 

 

 

3.数据同步更新

 

如有两张表:A表和B表,创建触发器使当A表数据更新后B表也同步更新数据。

 

按 Ctrl+C 复制代码
按 Ctrl+C 复制代码

 

测试效果如下:

 

按 Ctrl+C 复制代码
按 Ctrl+C 复制代码

触发器实现多表之间的增加、删除及更新

标签:create   text   width   ext   gif   let   nbsp   技术   代码   

原文地址:http://www.cnblogs.com/Kiss-zl/p/7290668.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!