@@TRANCOUNT (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL verwaltete Instanz Azure Synapse Analytics Platform System (PDW) Warehouse in Microsoft Fabric

Gibt die Anzahl von BEGIN TRANSACTION-Anweisungen zurück, die auf der aktuellen Verbindung aufgetreten sind.

Transact-SQL-Syntaxkonventionen

Syntax

@@TRANCOUNT  

Hinweis

Diese Syntax wird vom serverlosen SQL-Pool in Azure Synapse Analytics nicht unterstützt.

Rückgabetypen

integer

Hinweise

Die BEGIN TRANSACTION-Anweisung erhöht @@TRANCOUNT um den Wert 1. ROLLBACK TRANSACTION reduziert @@TRANCOUNT auf 0, außer für ROLLBACK TRANSACTION savepoint_name, was sich nicht auf @@TRANCOUNT auswirkt. COMMIT TRANSACTION oder COMMIT WORK reduziert @@TRANCOUNT um den Wert 1.

Beispiele

A. Veranschaulichen der Auswirkungen der Anweisungen BEGIN und COMMIT

Im folgenden Beispiel wird die Wirkung von geschachtelten BEGIN- und COMMIT-Anweisungen auf die @@TRANCOUNT-Variable gezeigt.

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. Veranschaulichen der Auswirkungen der Anweisungen BEGIN und ROLLBACK

Im folgenden Beispiel wird die Wirkung von geschachtelten BEGIN TRAN- und ROLLBACK-Anweisungen auf die @@TRANCOUNT-Variable gezeigt.

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  

Weitere Informationen

BEGIN TRANSACTION (Transact-SQL)
COMMIT TRANSACTION (Transact-SQL)
ROLLBACK TRANSACTION (Transact-SQL)
Systemfunktionen (Transact-SQL)