我了解FOR EACH STATEMENT
在执行时,表t上定义的触发器将运行一次UPDATE t ...
。
现在,当使用t
定义时FOREIGN KEY ... REFERENCES a ... ON UPDATE CASCADE
,我更新的N行a
,这会导致触发器被调用一次或N次吗?
换句话说,由FK约束级联的表更改更像是单个UPDATE
,还是更像一系列UPDATE
s?
4
您可以创建一个测试用例!将其插入到触发器主体中的另一个表中,看看将获得多少行。然后用您自己的答案写下来(允许,甚至鼓励)!
—
Colin't Hart 2015年
前句提及
—
Erwin Brandstetter,2015年
FOR EACH STATEMENT
与问题的其余部分正交。FK约束是通过特殊触发器实现的FOR EACH ROW
。
@Erwin“每行一次”或“每行一次”?
—
ypercubeᵀᴹ
@ypercube:我添加了详细答案。
—
Erwin Brandstetter,2015年