postgresql 在postgres中SET XACT_ABORT ON的替代方法是什么

w46czmvw  于 2023-06-05  发布在  PostgreSQL
关注(0)|答案(1)|浏览(199)

在SQL Server中,我们在存储过程中使用SET XACT_ABORT ON。所以,在Postgres中是什么是替代SET XACT_ABORT ON语句。

SET XACT_ABORT:

SET XACT_ABORT为ON时,如果Transact-SQL语句引发运行时错误,则整个事务将终止并回滚。
SET XACT_ABORT为OFF时,在某些情况下,只回滚引发错误的Transact-SQL语句,事务继续处理。根据错误的严重性,即使SET XACT_ABORT为OFF,也可能回滚整个事务。OFF是T-SQL语句中的默认设置,而ON是触发器中的默认设置。

gg58donl

gg58donl1#

Microsoft says
指定当Transact-SQL语句引发运行时错误时,SQLServer是否自动回滚当前事务。
这是PostgreSQL中的默认行为,也是唯一的行为(除非你使用了保存点),所以你不需要做什么。一个区别可能是,即使在错误之后,PostgreSQL也不会自动终止事务块,所以你仍然需要发出ROLLBACK。这是为了使错误后的剩余语句不会在它们自己的事务中执行,而是与错误语句沿着被忽略。

相关问题