@@TRANCOUNT (Transact-SQL)

Si applica a: sìSQL Server (tutte le versioni supportate) Sìdatabase SQL di Azure SìIstanza gestita di SQL di Azure sìAzure Synapse Analytics sìParallel Data Warehouse

Restituisce il numero di istruzioni BEGIN TRANSACTION che si sono verificate nella connessione corrente.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

@@TRANCOUNT  

Nota

Questa sintassi non è supportata da pool SQL serverless in Azure Synapse Analytics.

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 e versioni precedenti, vedere Documentazione delle versioni precedenti.

Tipi restituiti

integer

Osservazioni

L'istruzione BEGIN TRANSACTION incrementa @@TRANCOUNT di 1. L'istruzione ROLLBACK TRANSACTION decrementa @@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 @@TRANCOUNT di 1.

Esempi

R. 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  

Vedere anche

BEGIN TRANSACTION ( Transact-SQL)
COMMIT TRANSACTION ( Transact-SQL)
ROLLBACK TRANSACTION ( Transact-SQL)
Funzioni di sistema ( Transact-SQL)