Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment définir SET XACT_ABORT ON dans une transaction SQL Server ?

Vous définissez normalement xact_abort dans le corps de la procédure stockée :

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

Deux paramètres "spéciaux" sont mémorisés à partir de la session qui a créé la procédure. Explication de MSDN :

Ainsi, lorsque vous créez une procédure stockée, SQL Server copie l'option QUOTED_IDENTIFIER de la connexion vers la définition de procédure. L'objectif est que quelqu'un d'autre avec un paramètre QUOTED_IDENTIFIER différent obtienne toujours le comportement prévu par l'auteur de la procédure.

Il n'en va pas de même pour XACT_ABORT .