Udostępnij za pomocą


@@TRANCOUNT (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Magazyn w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric

Zwraca liczbę instrukcji BEGIN TRANSACTION, które wystąpiły na bieżącym połączeniu.

Transact-SQL konwencje składni

Składnia

@@TRANCOUNT  

Uwaga / Notatka

Ta składnia nie jest obsługiwana przez bezserwerową pulę SQL w usłudze Azure Synapse Analytics.

Typy zwracane

integer

Uwagi

Zdanie BEGIN TRANSACTION zwiększa @@TRANCOUNT o 1. Transakcja ROLLBACK zmniejsza @@TRANCOUNT do 0, z wyjątkiem ROLLBACK TRANSACTION savepoint_name, który nie wpływa na @@TRANCOUNT. COMMIT TRANSACTION lub COMMIT JOB reductionment @@TRANCOUNT o 1.

Przykłady

A. Pokazanie efektów instrukcji BEGIN i COMMIT

Poniższy przykład pokazuje wpływ zagnieżdżonych BEGIN i COMMIT instrukcji na tę @@TRANCOUNT zmienną.

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. Pokazywanie efektów instrukcji BEGIN i ROLLBACK

Poniższy przykład pokazuje wpływ zagnieżdżonych BEGIN TRAN i ROLLBACK instrukcji na tę @@TRANCOUNT zmienną.

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  

Zobacz też

ROZPOCZNIJ TRANSAKCJĘ (Transact-SQL)
TRANSAKCJA COMMIT (Transact-SQL)
WYCOFYWANIA TRANSAKCJI (Transact-SQL)
Funkcje systemowe (Transact-SQL)