@@TRANCOUNT (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)Lager i Microsoft FabricSQL-databas i Microsoft Fabric

Returnerar antalet BEGIN TRANSACTION-satser som har skett på den aktuella anslutningen.

Transact-SQL syntaxkonventioner

Syntax

@@TRANCOUNT  

Anmärkning

Den här syntaxen stöds inte av en serverlös SQL-pool i Azure Synapse Analytics.

Returtyper

heltal

Anmärkningar

BEGIN TRANSAKTION-satsen ökar @@TRANCOUNT med 1. ROLLBACK TRANSAKTION minskar @@TRANCOUNT till 0, förutom ROLLBACK TRANSAKTION savepoint_name, vilket inte påverkar @@TRANCOUNT. FÖRPLIKTA TRANSAKTION ELLER ARBETSMINSKNING @@TRANCOUNT med 1.

Examples

A. Att visa effekterna av BEGIN- och COMMIT-uttalandena

Följande exempel visar effekten som nästlade BEGIN och COMMIT satser har på variabeln @@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. Visar effekterna av BEGIN- och ROLLBACK-satserna

Följande exempel visar effekten som nästlade BEGIN TRAN och ROLLBACK satser har på variabeln @@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  

Se även

STARTA TRANSAKTION (Transact-SQL)
ÖVERLÅTA TRANSAKTION (Transact-SQL)
ÅTERSTÄLLNINGSTRANSAKTION (Transact-SQL)
Systemfunktioner (Transact-SQL)