Triggers:代替/For Insert,哪个会先触发?
Posted
技术标签:
【中文标题】Triggers:代替/For Insert,哪个会先触发?【英文标题】:Triggers: Instead of / For Insert, which will trigger first? 【发布时间】:2014-05-09 14:18:43 【问题描述】:我正在尝试了解存储过程和触发器的文档,它在其中插入和更新带有触发器的表。
他们给了我 2 个触发器文档,这个特定的表有两个触发器:
trig_table_ii 和 trig_table_ti。
trig_table_ii:代替插入 trig_table_ti:用于插入插入/更新表时哪个会先触发?
在 trig_table_ii ( INSTEAD OF INSERT ) 中,这里有一个针对同一个表的 INSERT 语句。这是否意味着 trig_table_ii 先执行?
【问题讨论】:
【参考方案1】:更新表格时不会触发。
FOR INSERT
与 AFTER INSERT
相同。这将在您完成插入记录后触发。
INSTEAD OF INSERT
将作为插入的替换而触发。此触发器将忽略您原来的插入语句并执行任何要执行的内容。
让我们在你的INSTEAD OF
中说,出于某种原因,不要插入记录。所以,FOR INSERT
触发器不会被触发。
点击此处了解更多信息:CREATE TRIGGER
【讨论】:
嗨,我认为不是 insert 会首先触发,只是因为最后有一个 FINAL Insert 可以触发 FOR INSERT。它是否正确?感谢您的参考,虽然我已经阅读了,但只是想问这个问题,哪个高管首先。Instead of
将首先触发,因为您的字面意思是“现在不要插入。先运行此触发器”。如果此触发器插入一些记录,则调用For insert
以上是关于Triggers:代替/For Insert,哪个会先触发?的主要内容,如果未能解决你的问题,请参考以下文章
在 OpenShift 上安装 Tekton Triggers EventListener (for GitLab) 会导致:错误配置映射被禁止:无法在 API 中获取资源配置映射
Quartz 第二课 Jobs and Triggers(官方文档翻译)