@@TRANCOUNT (Transact-SQL)

本文介绍SQL Server中的@@TRANCOUNT函数,该函数用于返回当前连接上执行的BEGIN TRANSACTION语句的数量。文章通过示例展示了BEGIN、COMMIT和ROLLBACK语句如何影响@@TRANCOUNT的值。
摘要由CSDN通过智能技术生成

返回在当前连接上执行的 BEGIN TRANSACTION 语句的数目。

 
适用范围:SQL Server(SQL Server 2008 至当前版本),Azure SQL Database。

Topic link icon Transact-SQL 语法约定

  
@@TRANCOUNT  

integer

BEGIN TRANSACTION 语句将 @@TRANCOUNT 增加 1。 ROLLBACK TRANSACTION 将 @@TRANCOUNT 递减到 0,但 ROLLBACKTRANSACTION savepoint_name 除外,它不影响 @@TRANCOUNT。 COMMIT TRANSACTION 或 COMMIT WORK 将 @@TRANCOUNT 递减 1。

A.演示 BEGIN 和 COMMIT 语句的效果

下面的示例演示嵌套的 BEGIN 和 COMMIT 语句对 @@TRANCOUNT 变量产生的效果。

PRINT @@TRANCOUNT  
--  The BEGIN TRAN statement will increment the  
--  transaction count by 1.  
BEGIN TRAN  
    PRINT @@TRANCOUNT  
    BEGIN TRAN  
        PRINT @@TRANCOUNT  
--  The COMMIT statement will decrement the transaction count by 1.  
    COMMIT  
    PRINT @@TRANCOUNT  
COMMIT  
PRINT @@TRANCOUNT  
--Results  
--0  
--1  
--2  
--1  
--0  

B.演示 BEGIN 和 ROLLBACK 语句的效果

下面的示例演示嵌套的 BEGIN TRAN 和 ROLLBACK 语句对 @@TRANCOUNT 变量产生的效果。

PRINT @@TRANCOUNT  
--  The BEGIN TRAN statement will increment the  
--  transaction count by 1.  
BEGIN TRAN  
    PRINT @@TRANCOUNT  
    BEGIN TRAN  
        PRINT @@TRANCOUNT  
--  The ROLLBACK statement will clear the @@TRANCOUNT variable  
--  to 0 because all active transactions will be rolled back.  
ROLLBACK  
PRINT @@TRANCOUNT  
--Results  
--0  
--1  
--2  
--0  

BEGIN TRANSACTION (Transact-SQL)
COMMIT TRANSACTION (Transact-SQL)
ROLLBACK TRANSACTION (Transact-SQL)
系统函数 (Transact-SQL)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值