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

Как да задам SET XACT_ABORT ON в транзакция на SQL Server?

Обикновено задавате xact_abort като част от тялото на съхранената процедура:

CREATE PROCEDURE MyProc
AS
SET XACT_ABORT ON
BEGIN TRAN  
....

Има две "специални" настройки, които се запомнят от сесията, която е създала процедурата. Обяснение от MSDN:

Така че, когато създавате съхранена процедура, SQL Server копира опцията QUOTED_IDENTIFIER от връзката към дефиницията на процедурата. Целта е някой друг с различна настройка на QUOTED_IDENTIFIER все още да получава поведението, което е предвидил авторът на процедурата.

Същото не важи за XACT_ABORT .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Дефиницията на SSRS отчета е по-нова от сървъра

  2. Таблици на SQL Server, именувани с dbo схема

  3. операцията не е разрешена, когато обектът е затворен, когато се изпълнява по-разширена заявка

  4. Как да конвертирате hh:mm:ss в секунди в SQL Server с повече от 24 часа

  5. Как да намерите петата най-висока заплата в една заявка в SQL Server