码迷,mamicode.com
首页 > 数据库 > 详细

SQL_触发器的总结

时间:2014-10-06 02:27:29      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:io   使用   for   数据   c   on   r   ad   sql   

常见的触发器有三种:分别应用于Insert,Update,Delete事件
创建触发器:
create trigger tr_name
on table/view
{for|on|after|instead of} [update][,][insert][,][delete]
[with encryption]
as {batch|if update(col_name)[{and|or} update(col_name)]}
说明:
1.tr_name:触发器名称
2.on table/view:触发器所作用的表,一个触发器只能作用于一个表
3.for和after同义
4.after与instead of的区别
after,在触发事件发生以后才被激活,只可以建立在表上
instead of,代替了相应的触发器事件而被执行,既可以建立在表上,也可以建立在视图上
5.Insert,Update,Delete:激活触发器的三种操作,可以同时执行,也可以选其一
6.if update(col_name):表明所作的操作对指定的列是否有影响,有影响,则激活触发器。此外,因为delete操作只对行有影响,所以如果使用delete
操作就不能使用这条语句了(虽然使用了也不会出错,但是不能被激活,没有意义)
7.触发器执行时用到两个特殊的临时表:deleted,inserted
deleted,inserted可以说是一种特殊的临时表,是在进行激活触发器时有系统自动生成的,其结构与触发器作用的表结构一致,只是存放的数据有差异
deleted与inserted数据的差异
inserted,只是存放insert和update操作后的数据
deleted存放进行delete和update操作前的数据
update操作相当于先进行了delete再进行insert,所以在进行update操作时,修改前一条数据到deleted表中,修改后的数据保存到触发器作用的表中,同时还要拷贝一条到inserted表中

SQL_触发器的总结

标签:io   使用   for   数据   c   on   r   ad   sql   

原文地址:http://www.cnblogs.com/zwhFighting/p/4007812.html

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