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'
Tôi không nghĩ rằng có cách nào để xác định liệu giao dịch hiện tại đã được bắt đầu một cách rõ ràng hay ẩn ý. Vì vậy, mã này chỉ cố gắng đoán:nếu IMPLICIT_TRANSACTIONS bị TẮT, giao dịch được giả định là bắt đầu một cách rõ ràng.
Tham chiếu MSDN: