Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

В SQL Server как да разбера какъв режим на транзакция използвам в момента?

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:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създаване на сокет в SQL-CLR тригер или съхранена процедура

  2. Debezium:Няма записан максимален LSN в базата данни; моля, уверете се, че SQL Server Agent работи

  3. Как да актуализирам varbinary поле с конкретна стойност?

  4. SQL Server и пропуски в колона за идентичност

  5. Защо не мога да използвам псевдоним в израза DELETE?