如果我在PostgreSQL中设置一个AFTER触发器在insert/update之后触发,调用软件是否必须等待触发器完成后才能将控制权返回给调用软件?或者触发器会在幕后自动运行?
发布于 2010-06-30 01:12:39
是的,因为它是在同一个事务中执行的。如果触发器失败,insert/update也将失败。只需做一个测试,执行一个将失败的查询(选择一个不存在的表),您就可以看到事情是如何工作的,以及您的应用程序将如何行为。
CREATE OR REPLACE FUNCTION foo() RETURNS TRIGGER
AS
$$
BEGIN
EXECUTE 'SELECT fail';
END;
$$
LANGUAGE plpgsql;https://stackoverflow.com/questions/3143025
复制相似问题