【问题标题】:What is the alternative to SET XACT_ABORT ON in postgrespostgres 中 SET XACT_ABORT ON 的替代方法是什么
【发布时间】:2021-03-22 12:52:25
【问题描述】:

在 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 是触发器中的默认设置。

【问题讨论】:

  • 它有什么作用?
  • @a_horse_with_no_name 抱歉,现在我已经更新了问题。谢谢!!

标签: sql postgresql


【解决方案1】:

Microsoft says:

指定当 Transact-SQL 语句引发运行时错误时 SQL Server 是否自动回滚当前事务。

这是 PostgreSQL 中默认且唯一的行为(除非您使用保存点),因此您无需执行任何操作。

【讨论】:

  • 好吧,在 postgres 中我们不必这样做,因为默认情况下 postgres 的行为类似于您所指的 SET XACT_ABORT ON(MSSQL) 功能?
猜你喜欢
  • 1970-01-01
  • 2015-12-19
  • 1970-01-01
  • 2010-11-12
  • 1970-01-01
  • 2021-12-19
  • 1970-01-01
  • 1970-01-01
  • 2021-02-16
相关资源
最近更新 更多