14 août 2015


Avec Sql Server, l'instruction TRY CATCH permet de récupérer des erreurs, mais que faire quand on est dans une transaction.

Voici un modèle qui fonctionne bien.


BEGIN TRY
   BEGIN TRANSACTION    
   --- Faire ce qu'on a a faire ici
   
   COMMIT
END TRY
BEGIN CATCH
  IF @@TRANCOUNT > 0
     ROLLBACK

  --- Traiter l'erreur ici    


END CATCH




Les points à ne pas oublier :
  • L'instruction BEGIN TRANSACTION est juste après le BEGIN TRY (= y a rien entre les 2 instructions)
  • Le COMMIT termine le traitement est est juste avant le END TRY (= la aussi y a rien entre les 2 instructions)
  • Le test de présence de transaction et le ROLLBACK sont fait dès le début du BEGIN CATCH

Enjoy

Aucun commentaire:

Enregistrer un commentaire