触发器分为事前触发和事后触发,这两种触发有何区别?语句级触发和行级触发有何区别

触发器分为事前触发和事后触发,这两种触发有何区别?语句级触发和行级触发有何区别  

2009-07-30 12:09:21|  分类: 面试相关 |  标签: |字号 订阅

【考点】
触发器的事前触发和事后触发知识。
【出现频率】
★★☆☆☆
【解答】
事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。
语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。
【分析】
简单而言,事前触发主要是验证一些条件或进行一些准备工作,在表保存之前就触发,而事后触发则是进行收尾工作,保证事务的完整性,在表经过修改以后才触发。行级触发器是对DML语句影响的每个行执行一次,如UPDATE语句影响多行,就会对每行都激活一次触发器。而语句级触发器是对每个DML语句执行一次,如INSERT语句在表中即使插入了100多行,表上的INSERT语句级触发器也只会执行一次。
posted @ 2011-10-07 13:26  peterlee  阅读(1937)  评论(0)    收藏  举报