【发布时间】:2018-04-23 10:15:04
【问题描述】:
我有一个INSERT,它将触发一个TRIGGER,它将UPDATE 另一个TABLE 的属性。我需要确保如果INSERT 成功并且TRIGGER 中的UPDATE 不成功,那么整个事情应该回滚。
在事务中封装INSERT 能保证这一点吗?
如果没有,我该怎么做?
【问题讨论】:
-
是的,应该。你为什么不试试呢?..
-
@VaoTsun 您通常如何强制触发器失败以进行测试?
-
只是添加条件来更新?..例如
update blah set blah where case when new.some_column = 4 then 1/0 else new.some_other_column end因此,当您对 some_column = 4 的行进行操作时,它将异常死亡
标签: postgresql triggers transactions consistency