Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Trong SQL Server, làm cách nào để biết tôi hiện đang sử dụng chế độ giao dịch nào?

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:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự cố với T-SQL TRY CATCH?

  2. Tạo bảng HTML với SQL FOR XML

  3. CROSS JOIN so với INNER JOIN trong SQL

  4. Cách thay đổi kiểu dữ liệu cột trong cơ sở dữ liệu SQL mà không làm mất dữ liệu

  5. Cảnh báo:Giá trị rỗng bị loại bỏ bởi hoạt động tổng hợp hoặc SET khác trong Aqua Data Studio