@@TRANCOUNT (SQL Bertransaksi)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Mengembalikan jumlah pernyataan BEGIN TRANSACTION yang telah terjadi pada koneksi saat ini.
Sintaks
@@TRANCOUNT
Catatan
Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.
Catatan
Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.
Jenis Pengembalian
bilangan bulat
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 sebesar 1.
Contoh
A. Memperlihatkan efek pernyataan BEGIN dan COMMIT
Contoh berikut menunjukkan efek yang ditumpuk BEGIN dan 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. Menampilkan efek pernyataan BEGIN dan ROLLBACK
Contoh berikut menunjukkan efek yang ditumpuk BEGIN TRAN dan 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 (SQL Bertransaksi)
TRANSAKSI ROLLBACK (SQL Bertransaksi)
Fungsi Sistem (SQL Bertransaksi)
