gpt4 book ai didi

sql - 从函数返回的触发器如何影响 BEFORE 或 AFTER 语句?

转载 作者:行者123 更新时间:2023-11-29 14:13:41 32 4
gpt4 key购买 nike

我在理解 sql 中的函数和触发器时遇到了一些麻烦。我没有发布过程 chkInsertAritcle 的代码,但可以说如果它设法进行更改则返回 NEW,否则返回 NULL。

所以我的问题是关于触发器的。如果我把 AFTER INSERT 放在那是否意味着它将完成 INSERT 而不依赖于返回值?还有什么其余行会发生什么情况?

下一个问题是如果我把 BEFORE INSERT 放在前面,代码会以什么顺序运行?

谢谢!

CREATE TRIGGER ArticleIns
AFTER INSERT ON ListOfArticles
FOR EACH ROW
EXECUTE PROCEDURE chkInsertArticle();

最佳答案

首先所有BEFORE 触发器按字母顺序运行,然后执行操作,然后所有AFTER 触发器按字母顺序运行。

每个操作都将前一个操作的结果视为输入,如果任何触发器返回 NULL,则停止对该行的处理。因此,如果 BEFORE 触发器返回 NULL,DML 操作将不会发生。

对于受触发 DML 语句影响的每一行,这都是独立发生的。

关于sql - 从函数返回的触发器如何影响 BEFORE 或 AFTER 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56757497/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com