rollback de transaction sur exception metier uniquement.
Bonjour,
Je souhaite créer une transaction qui ne fasse pas un Rollback lors d'erreur SQL mais uniquement lorsque j'envoi des exception métier.
J'ai une procédure du genre :
1/ démarre la transaction
2/ effectue des choses importantes susceptible de déclancher le Rollback.
3/ insert/update des données en base mais qui ne doivent pas planter la transaction.
4/ d'autre insert/update
5/ effectue des choses importantes susceptible de déclancher le Rollback.
6/ tout va bien : commit.
Comment faire pour que :
- un plantage en 2 n'empêche pas le déroulement de la procédure et ne rollback pas la transaction et que les données soient insérés en 4
- les données insérés en 3 et 4 ne soient rollbacké QUE si il y a Exception en 5.
- que tout soit comité en 6 si aucune Exception métier (en 5)
J'ai regardé les options PROPAGATION_REQUIRED, PROPAGATION_REQUIRES_NEW and PROPAGATION_NESTED mais je m'y perd un peut.
Merci d'avance.
P.