Freigeben über


@@TRANCOUNT (Transact-SQL)

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

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

@@TRANCOUNT

Rückgabetypen

integer

Hinweise

Die BEGIN TRANSACTION-Anweisung erhöht @@TRANCOUNT um den Wert 1. ROLLBACK TRANSACTION reduziert @@TRANCOUNT auf 0; lediglich ROLLBACK TRANSACTION savepoint_name wirkt sich nicht auf @@TRANCOUNT aus. 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

Siehe auch

Verweis

BEGIN TRANSACTION (Transact-SQL)

COMMIT TRANSACTION (Transact-SQL)

ROLLBACK TRANSACTION (Transact-SQL)

Systemfunktionen (Transact-SQL)