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'
Ik denk niet dat er een manier is om te bepalen of de huidige transactie expliciet of impliciet is gestart. Deze code probeert dus te raden:als IMPLICIT_TRANSACTIONS UIT staat, wordt aangenomen dat de transactie expliciet wordt gestart.
MSDN-referenties: