【问题标题】:Do queries executed in a Postgres trigger procedure run in the same transaction?在 Postgres 触发器过程中执行的查询是否在同一个事务中运行?
【发布时间】:2012-05-08 03:47:06
【问题描述】:

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

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

如果没有,我怎样才能做到这一点?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢。我假设AFTER DELETE 触发器仍然可以通过OLD 获得已删除的行数据?
    猜你喜欢
    • 2011-06-19
    • 2015-03-30
    • 2014-01-07
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    • 1970-01-01
    • 2013-09-30
    相关资源
    最近更新 更多