加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

oracle – 如何在没有插入行时阻止插入触发器被触发?

发布时间:2021-01-01 05:12:48 所属栏目:站长百科 来源:网络整理
导读:我有一个TABLE1.在这个表上我建设了一个触发器:AFTER INSERT OR UPDATE OR DELETE 此刻,假如我执行的插入没有插入任何内容,触发器仍将被触发: insert into TABLE1 select * from TABLE1 where 1=0; 此查询将插入NO ROWS,但触发器如故被触发. 有步伐停止这

我有一个TABLE1.在这个表上我建设了一个触发器:AFTER INSERT OR UPDATE OR DELETE

此刻,假如我执行的插入没有插入任何内容,触发器仍将被触发:

insert into TABLE1 select * from TABLE1 where 1=0;

此查询将插入NO ROWS,但触发器如故被触发.

有步伐停止这种环境吗?这是正常的举动吗?

办理要领

是的,这是正常举动.可以停止,但这样做必要3个触发器:

> BEFORE触发器将包布尔变量配置为FALSE
> FOR EACH ROW触发器在插入行时将变量配置为TRUE
>你有AFTER触发器,此刻可以在执行举措之前搜查变量的值.

听起来有点过犹不及?大概它是:用触发器试图实现什么?

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读