IF @@TRANCOUNT = 0 PRINT 'No current transaction, autocommit mode (default)'
ELSE IF @@OPTIONS & 2 = 0 PRINT 'Implicit transactions is off, explicit transaction is currently running'
ELSE PRINT 'Implicit transactions is on, implicit or explicit transaction is currently running'
Saya tidak berpikir ada cara untuk menentukan apakah transaksi saat ini dimulai secara eksplisit atau implisit. Jadi, kode ini hanya mencoba menebak:jika IMPLICIT_TRANSACTIONS OFF, transaksi dianggap dimulai secara eksplisit.
Referensi MSDN: