在 SQL Server 2005 中,SET XACT_ABORT 语句的范围是什么?例如:begin-end 块、存储过程或触发器、连接、数据库、服务器?
我理解 SET XACT_ABORT 命令的用途: 当 SET XACT_ABORT 设置为 ON 时,如果 Transact-SQL 语句引发运行时错误,则整个事务将终止并回滚。 当 SET XACT_ABORT 设置为 OFF 时,在某些情况下仅回滚引发错误的 Trans...
我们最近被空投到一个有很糟糕的代码的新ETL项目中。 我手头拿着一个有700行和各种更新的查询。 我想用 SET XACT_ABORT ON; 调试它,目标是如果只有一个事务失败,就回滚所有内容。 但是我在 StackOverflow 上找到了几种实现方法,比如这个: BEGIN TRA...
我在存储过程中使用了try catch块,其中try块中只有一个插入语句。catch块检查错误代码是否为主键冲突,如果是则执行更新操作。但有时会出现"The current transaction cannot be committed and cannot support operation...
根据Books Online documentation of SET XACT_ABORT ON,我得出的印象是,如果T-SQL语句引发运行时错误,则整个事务将被终止并回滚: 备注 当 SET XACT_ABORT 为 ON 时,如果 Transact-SQL 语句引发运行时错误,则整个...