概述
Oracle触发器分为语句级(STATEMENT)和行级(ROW)两种,从字面意思上理解,
语句级触发器是指一条SQL语句触发一次;
行级触发器是指一条SQL语句影响的每一行触发一次。
看个案例就很明显了
先建2张测试表from_table和to_table,from_table插入5条记录
接着在to_table上建2个触发器,分别是语句级和行级,其中行级触发器有for each row的声明
下面执行一条insert语句,把from_table中的每一行写入到to_table中
发现2个现象:
1.行级触发器触发了5次,即每一行触发1次;语句级触发器只触发了1次;
2.语句级触发器在行级触发器之后触发(AFTER的时候),如果用BEFORE触发,则语句级触发器先执行。
那么这2种触发器分别在什么情况下使用呢?
1.如果需要对每一行数据做处理,使用行级触发器
2.语句执行完成后,做该语句的后续业务处理,用语句级触发器。
最后
以上就是温暖薯片为你收集整理的触发器(一、语句级和行级的区别及使用场景)的全部内容,希望文章能够帮你解决触发器(一、语句级和行级的区别及使用场景)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复