Поделиться через


@@TRANCOUNT (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure хранилище платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric

Возвращает число инструкций BEGIN TRANSACTION, выполненных в текущем соединении.

Соглашения о синтаксисе Transact-SQL

Синтаксис

@@TRANCOUNT  

Примечание.

Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics.

Типы возвращаемых данных

integer

Замечания

Оператор BEGIN TRANSACTION увеличивает @@TRANCOUNT на 1. Инструкция ROLLBACK TRANSACTION уменьшает значение @@TRANCOUNT до 0 (исключение — параметр savepoint_name у ROLLBACK TRANSACTION, который не влияет на значение @@TRANCOUNT). COMMIT TRANSACTION или COMMIT WORK уменьшается @@TRANCOUNT на 1.

Примеры

А. Отображение результатов выполнения инструкций BEGIN и COMMIT

В следующем примере демонстрируется результат использования вложенных инструкций BEGIN и COMMIT для переменной @@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. Отображение результатов выполнения инструкций BEGIN и ROLLBACK

В следующем примере демонстрируется результат использования вложенных инструкций BEGIN TRAN и ROLLBACK для переменной @@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  

См. также

BEGIN TRANSACTION (Transact-SQL)
COMMIT TRANSACTION (Transact-SQL)
ROLLBACK TRANSACTION (Transact-SQL)
Системные функции (Transact-SQL)