在Postgres触发器程序中执行的查询是否在同一个事务中运行?

时间:2012-04-27 11:34:34

标签: sql postgresql stored-procedures triggers postgresql-9.1

我有一个BEFORE DELETE触发器,它使用SPI_exec将行插入另一个表。

这些INSERT查询是否在与执行原始删除的事务相同的事务中运行?因此,删除和所有插入是否会回滚或提交?

如果没有,我该如何实现呢?

1 个答案:

答案 0 :(得分:4)

是的,触发器中的所有内容都与触发事件在同一个事务中。

与问题没有直接关系,但通常您希望将副作用放在AFTER触发器中,而不是BEFORE触发器中。