OVH Cloud OVH Cloud

transaction

1 réponse
Avatar
Rahan
Salut

j ai 4 routines ds une sub qui mettent a jour mon sql
server
ce que je desir c annuler les mise a jour en cas de pb
sur une des routines mais comme je les appels par ma sub
et que une transaction doit etre liee a une cmd a chaque
fois je ne vois pas trop, en fait je pensais faire un
genre

sub test
transaction
try
routine1
routine2
routine3
routine4
transaction.commit
catch
rollback
end sub

merci

1 réponse

Avatar
Julien Adam
Crée la transaction dans ta fonction principale (sub test dans ton exemple).
Passe l'objet transaction en paramètre de tes différentes routines 1,2,3,4
etc. et relie les commande de ces routines à la transaction.

Si tu ne peux pas modifier la signature de tes routines (parce qu'elles sont
appellées ailleurs en dehors d'une transaction par exemple), surcharge les
et factorise le code commun entre la version sans transaction et la version
avec.

Julien Adam

"Rahan" wrote in message
news:13c301c47b95$392b9e80$
Salut

j ai 4 routines ds une sub qui mettent a jour mon sql
server
ce que je desir c annuler les mise a jour en cas de pb
sur une des routines mais comme je les appels par ma sub
et que une transaction doit etre liee a une cmd a chaque
fois je ne vois pas trop, en fait je pensais faire un
genre

sub test
transaction
try
routine1
routine2
routine3
routine4
transaction.commit
catch
rollback
end sub

merci