Bonjour,

Voici ma question :

J'ai une procédure stockée SP_MASTER qui appel successivement SP_1 et SP_2.

Ma procédure SP_1 :
  • Démarre une TRANSACTION T_1
  • Fait un UPDATE
  • Fait un DELETE
  • Fait un INSERT
  • Lance un COMMIT ou un ROLLBACK T_1
  • RETURN @@error
Ma procédure SP_2 :
  • Démarre une TRANSACTION T_2
  • Fait un UPDATE
  • Fait un DELETE
  • Fait un INSERT
  • Lance un COMMIT ou un ROLLBACK T_2
  • RETURN @@error
Ma procédure SP_MASTER :
  • Appel SP_1
  • Appel SP_2
Je voudrais être capable d'annuler SP_1 si SP_2 reviens en erreur.
J'ai donc fais une nouvelle transaction dans SP_MASTER et je fais un ROLLBACK de celle-ci si SP_1 ou SP_2 retourne une erreur mais ça ne fonctionne pas.

Est-ce possible ?
Si oui comment ?

Merci beaucoup