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'
मुझे नहीं लगता कि यह निर्धारित करने का कोई तरीका है कि वर्तमान लेनदेन स्पष्ट रूप से या निहित रूप से शुरू किया गया था या नहीं। इसलिए, यह कोड केवल अनुमान लगाने का प्रयास करता है:यदि IMPLICIT_TRANSACTIONS बंद है, तो लेन-देन स्पष्ट रूप से प्रारंभ माना जाता है।
MSDN संदर्भ: