【发布时间】:2015-12-19 15:01:45
【问题描述】:
我读到很多人在程序开始时倾向于SET XACT_ABORT ON。
CREATE PROC myProc
AS
Begin
BEGIN TRAN
SET XACT_ABORT ON
[..code1 that might throw an error..]
[..code2..]
SET XACT_ABORT OFF [?]
COMMIT TRAN
END
SET XACT_ABORT OFF [?]
由于运行时错误将终止程序,SET XACT_ABORT 将保留为ON。我有一些问题:
你在哪里设置它?在
CREATE PROC定义之前、BEGIN之后还是BEGIN TRAN之后?SET处于连接级别,所以我想这三个都不会有所作为?什么时候转
OFF,如果它在发生错误时留下ON?
【问题讨论】:
标签: sql-server tsql stored-procedures error-handling transactions