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'
Jag tror inte att det finns något sätt att avgöra om den aktuella transaktionen påbörjades explicit eller implicit. Så den här koden försöker bara gissa:om IMPLICIT_TRANSACTIONS är AV, antas transaktionen ha startat explicit.
MSDN-referenser: