参考网址:http://hi.baidu.com/bystander1983/item/f065c00cbe25508d03ce1b3b,原文稍微乱一些,感谢原作者的分享。
1. 触发器的分类
DML触发器
DDL触发器
系统触发器
替代触发器
2. 触发器的执行顺序
1. 如果存在语句级BEFORE触发器,则先执行一次语句级BEFORE触发器。
2. 在SQL语句的执行过程中,如果存在行级BEFORE触发器,则SQL语句在对每一行操作之前,都要先执行一次行级BEFORE触发器,然后才对行进行操作。
如果存在行级AFTER触发器,则SQL语句在对每一行操作之后,都要再执行一次行级AFTER触发器。
3. 如果存在语句级AFTER触发器,则在SQL语句执行完毕后,要最后执行一次语句级AFTER触发器。
3. 行级触发器与表级触发器(语句触发器)
行级触发器对DML语句影响的每个行执行一次;
语句级触发器对每个DML语句执行一次,如果在TABLE表中插入的数据为500行,那么这个表上的语句级触发器只执行一次,而行级的触发器就要执行500次了。
若在触发器定义中出现FOR EACH ROW子句,则为行级触发器,否则为表级触发器(语句触发器).
4. DML触发器
DML触发器是定义在表上的触发器,有DML事件引发。