Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

W programie SQL Server, skąd mam wiedzieć, jakiego trybu transakcji aktualnie używam?

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'

Nie sądzę, że istnieje sposób na ustalenie, czy bieżąca transakcja została rozpoczęta w sposób jawny czy niejawny. Tak więc ten kod po prostu próbuje zgadnąć:jeśli IMPLICIT_TRANSACTIONS jest wyłączone, zakłada się, że transakcja została uruchomiona jawnie.

Referencje 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. Jak utworzyć tabelę przestawną w Transact/SQL?

  2. Czy SQLExpress 2005 i 2008 można zainstalować na tym samym komputerze bez problemu?

  3. Czy istnieje sposób na ODRÓŻNIANIE lub grupowanie według tekstu (lub ntext) w SQL Server 2005?

  4. Funkcja LEN bez spacji końcowych w SQL Server

  5. Dodaj zmienny kolor wiersza do raportu usług raportowania SQL Server