Partilhar via


@@TRANCOUNT (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Warehouse do PDW (Analytics Platform System) no Microsoft Fabric

Retorna o número de instruções BEGIN TRANSACTION que ocorreram na conexão atual.

Convenções de sintaxe de Transact-SQL

Sintaxe

@@TRANCOUNT  

Observação

Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.

Tipos de retorno

inteiro

Comentários

A instrução BEGIN TRANSACTION incrementa @@TRANCOUNT em 1. ROLLBACK TRANSACTION diminui @@TRANCOUNT para 0, com exceção de ROLLBACK TRANSACTION savepoint_name, que não afeta @@TRANCOUNT. COMMIT TRANSACTION ou COMMIT WORK diminui @@TRANCOUNT em 1.

Exemplos

a. Mostrando os efeitos das instruções BEGIN e COMMIT

O exemplo a seguir mostra o efeito das instruções aninhadas BEGIN e COMMIT sobre a variável @@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. Mostrando os efeitos das instruções BEGIN e ROLLBACK

O exemplo a seguir mostra o efeito das instruções aninhadas BEGIN TRAN e ROLLBACK sobre a variável @@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  

Consulte Também

BEGIN TRANSACTION (Transact-SQL)
COMMIT TRANSACTION (Transact-SQL)
ROLLBACK TRANSACTION (Transact-SQL)
Funções de sistema (Transact-SQL)