隐式事务

这里讲讲SqlServer的隐式事务。(英文Implicit:含蓄的;暗示的;盲从的;)

隐式事务无需显示开始:不用 Begin Transaction,必须显示结:以 Commit Transaction 或者 Rollback Transaction 方式结束。

语句迭代迭代:SET IMPLICIT_TRANSACTIONS { ON | OFF }

开了隐式事务后,下面的语句的语句就会自动开启隐式事务。

隐式事务

使用

要想知道当前有多少事务没有结束:@@TranCount

举例1:设置隐式事务关闭,虽然默认是关的。剩下多少事务没有结束。

--创建一个表 go IF (OBJECT_ID(N'dbo.t1',N'U') IS NOT NULL) DROP TABLE dbo.t1; go CREATE table dbo.t1 (a int); go --设置隐式事务为关闭,其实默认就是关的. SET IMPLICIT_TRANSACTIONS OFF; --插入两条数据 INSERT INTO dbo.t1 VALUES (11); INSERT INTO dbo.t1 VALUES (12); --查看有多少条事务没有结束 PRINT N' @@TranCount, after INSERTs, == ' + CAST(@@TRANCOUNT AS NVARCHAR(10)); --结果 @@TranCount, after INSERTs, == 0

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wppxwf.html