@@TRANCOUNT (Transact-SQL)

Restituisce il numero di transazioni attive per la connessione corrente.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

@@TRANCOUNT

Tipi restituiti

integer

Osservazioni

L'istruzione BEGIN TRANSACTION incrementa la funzione @@TRANCOUNT di una unità, mentre l'istruzione ROLLBACK TRANSACTION decrementa la funzione @@TRANCOUNT fino al valore 0, tranne nel caso dell'istruzione ROLLBACK TRANSACTION savepoint_name che non ha alcun effetto su @@TRANCOUNT. L'istruzione COMMIT TRANSACTION o COMMIT WORK decrementa la funzione @@TRANCOUNT di una unità.

Esempi

A. Effetti delle istruzioni BEGIN e COMMIT

Nell'esempio seguente vengono illustrati gli effetti delle istruzioni nidificate BEGIN e COMMIT sulla variabile @@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. Effetti delle istruzioni BEGIN e ROLLBACK

Nell'esempio seguente vengono illustrati gli effetti delle istruzioni nidificate BEGIN TRAN e ROLLBACK sulla variabile @@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