Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Di SQL Server, bagaimana saya tahu mode transaksi apa yang saya gunakan saat ini?

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'

Saya tidak berpikir ada cara untuk menentukan apakah transaksi saat ini dimulai secara eksplisit atau implisit. Jadi, kode ini hanya mencoba menebak:jika IMPLICIT_TRANSACTIONS OFF, transaksi dianggap dimulai secara eksplisit.

Referensi 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. File FILESTREAM tertinggal setelah baris dihapus

  2. SQL - Permintaan untuk mendapatkan alamat IP server

  3. Peniruan Identitas dalam Tampilan SQL Server?

  4. Kolom yang dihitung di EF Code First

  5. Hirarki Pohon SQL Server dan Kumpulan Bersarang dengan id Rekaman Duplikat