返回当前连接的活动事务数。
@@TRANCOUNT
integer
BEGIN TRANSACTION 语句使 @@TRANCOUNT 递增 1。ROLLBACK TRANSACTION 将 @@TRANCOUNT 递减为 0,但 ROLLBACK TRANSACTION savepoint_name 语句并不影响 @@TRANCOUNT 值。COMMIT TRANSACTION 或 COMMIT WORK 将 @@TRANCOUNT 递减 1。
下面的示例用 @@TRANCOUNT 测试应该提交的打开事务。
BEGIN TRANSACTION UPDATE authors SET au_lname = upper(au_lname) WHERE au_lname = 'White' IF @@ROWCOUNT = 2 COMMIT TRAN IF @@TRANCOUNT > 0 BEGIN PRINT 'A transaction needs to be rolled back'
ROLLBACK TRAN
END