J'ai deux procédures stockées PL/SQL gérant chacune sa propre transaction (Begin/Commit et Rollback en cas d'erreur). À partir du code .Net I Appelez ces deux SP comme indiqué ci-dessous.TransactionScope et procédure stockée?
using (TransactionScope ts = new TransactionScope())
{
CallSP1();
CallSP2().
ts.SetComplete();
}
Si mon appel à SP2 échoue, annulera-t-il les modifications effectuées par CallSP1()? Si elle ne recule pas, cela signifie-t-il qu'il est préférable de gérer la transaction à partir de l'application .Net au lieu de l'intérieur de la procédure stockée?
+1. Aucune procédure ne devrait s'engager - elle ne devrait être que savepoint/rollback - sauf si c'est l'appelant ultime; le principal {} dans le programme. –