OVH Cloud OVH Cloud

Procédures stockées

2 réponses
Avatar
Moah
Bonjour,
j'ai une proc=E9dure stock=E9e qui r=E9alise plusieurs=20
op=E9rations d'insertion. Suis-je oblig=E9 d'y cr=E9er une=20
transaction, ou alors l'=E9x=E9cution d'une proc=E9dure stock=E9e=20
se fait implicitement dans une transaction ?

Merci d'avance.

2 réponses

Avatar
bruno reiter [MVP]
une SP ne crée pas de transaction implicite.

br

"Moah" wrote in message
news:0bd701c3b044$462b3f90$
Bonjour,
j'ai une procédure stockée qui réalise plusieurs
opérations d'insertion. Suis-je obligé d'y créer une
transaction, ou alors l'éxécution d'une procédure stockée
se fait implicitement dans une transaction ?

Merci d'avance.
Avatar
Fred BROUARD - SQLpro
Une PS n'est pas une transaction...

Autrement dit il te faut gérer une transaction ausein de la PS :

Exemple :
CREATE PROCEDURE ...
AS

SET TRANSACTION ISOLATION LEVEL ... (celui que tu veut, dépend des
données mises à jour)

BEGIN TRANSACTION
...

Partout ou une requête intervient, faire à la suite :

IF @@ERROR <> 0 GOTO LBL_ERROR

...


En fin de PS :

COMMIT TRANSACTION

RETURN

LBL_ERROR:
ROLLBACK TRANSACTION

A lire sur le sujet :
http://sqlpro.developpez.com/TransactSQL/SQL_MSTransactSQL.html

A +

Moah a écrit :
Bonjour,
j'ai une procédure stockée qui réalise plusieurs
opérations d'insertion. Suis-je obligé d'y créer une
transaction, ou alors l'éxécution d'une procédure stockée
se fait implicitement dans une transaction ?

Merci d'avance.