Bagikan melalui


@@TRANCOUNT (T-SQL)

Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Warehouse di Microsoft Fabric

Mengembalikan jumlah pernyataan BEGIN TRANSACTION yang telah terjadi pada koneksi saat ini.

Konvensi sintaks transact-SQL

Sintaksis

@@TRANCOUNT  

Catatan

Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.

Jenis Kembalian

Integer

Keterangan

Pernyataan BEGIN TRANSACTION bertambah @@TRANCOUNT sebesar 1. Penurunan TRANSAKSI ROLLBACK @@TRANCOUNT menjadi 0, kecuali untuk savepoint_name TRANSAKSI ROLLBACK, yang tidak memengaruhi @@TRANCOUNT. COMMIT TRANSACTION atau COMMIT WORK decrement @@TRANCOUNT oleh 1.

Contoh

J. Memperlihatkan efek pernyataan BEGIN dan COMMIT

Contoh berikut menunjukkan efek yang ditumpuk dan BEGIN COMMIT pernyataan pada @@TRANCOUNT variabel .

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. Memperlihatkan efek pernyataan BEGIN dan ROLLBACK

Contoh berikut menunjukkan efek yang ditumpuk dan BEGIN TRAN ROLLBACK pernyataan pada @@TRANCOUNT variabel .

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  

Lihat Juga

BEGIN TRANSACTION (Transact-SQL)
TRANSAKSI PENERAPAN (T-SQL)
TRANSAKSI ROLLBACK (Transact-SQL)
Fungsi Sistem (Transact-SQL)