【发布时间】:2012-05-08 03:47:06
【问题描述】:
我有一个BEFORE DELETE 触发器,它使用SPI_exec 将行插入另一个表。
这些INSERT 查询是否在与执行原始删除的事务相同的事务中运行?因此,删除和所有插入会一起回滚或提交吗?
如果没有,我怎样才能做到这一点?
【问题讨论】:
标签: sql postgresql stored-procedures triggers postgresql-9.1
我有一个BEFORE DELETE 触发器,它使用SPI_exec 将行插入另一个表。
这些INSERT 查询是否在与执行原始删除的事务相同的事务中运行?因此,删除和所有插入会一起回滚或提交吗?
如果没有,我怎样才能做到这一点?
【问题讨论】:
标签: sql postgresql stored-procedures triggers postgresql-9.1
是的,触发器中的所有内容都与触发事件在同一个事务中。
与问题没有直接关系,但通常您希望将副作用放在AFTER 触发器中,而不是BEFORE 触发器中。
【讨论】:
AFTER DELETE 触发器仍然可以通过OLD 获得已删除的行数据?