我是靠谱客的博主 温暖薯片,这篇文章主要介绍触发器(一、语句级和行级的区别及使用场景),现在分享给大家,希望可以做个参考。

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.语句执行完成后,做该语句的后续业务处理,用语句级触发器。


最后

以上就是温暖薯片最近收集整理的关于触发器(一、语句级和行级的区别及使用场景)的全部内容,更多相关触发器(一、语句级和行级内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(149)

评论列表共有 0 条评论

立即
投稿
返回
顶部