AFTER INSERT
触发器(用pl / PGsql编写的函数)是否会在原始插入的单独事务中触发?
我关心的是触发器是否会出现某种异常 触发器可以回滚而不会影响原始插件吗?
答案 0 :(得分:16)
所有PostgreSQL触发器都在与触发它们的事务相同的事务中执行。
修改:您还可以使用LISTEN
+ NOTIFY
将触发器中的消息发送到在事务外部执行的代码。在这种情况下,消息将仅在成功提交时传递。侦听器中的错误不会回滚触发事务。
答案 1 :(得分:7)
触发程序在同一交易中作为关联的触发事件运行。但是触发程序的效果可以单独回滚。
您必须在后触发器中添加exception handling。