Bonjour,
J'ai une table d'article, compose de plusieurs champs :
TABLEA(Champ A1,Champ A2,Champ A3), A1 Cle primaire.
Dans cette table, je peux avoir des article qui sont "lies" entre eux par le champ A2.
Si je modifie A3, je veux que cette modif soit repercutee dans les autres enregistrements qui lui sont lies.
Alors je fais mon petit trigger before update :
et puis je teste, et je tombe sur le message "Too many concurent execution of the same request". Mais oui, suis je bete ! Logique, il tourne en rond !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if (new.A3<>old.A3) then update TABLEA TA set TA.A3 = new.A3 where TA.A2 = new.A2 and TA.A1<>new.A1;
Et depuis, je cherche le meilleur moyen de faire mon truc.
Et le seul moyen que j'ai trouve, c'est de faire cette operation depuis une procedure stockee, qui serait appeler depuis l'appli. Et ca m'oblige, dans mon appli, a creer explicitement une transaction, et a faire toute une batterie de teste supplementaire pour chaque modif d'enregistrement. Alors que ce cas de figure, est "exceptionnel".
Est ce qu'il y aurait une autre solution ?
Merci d'avance.
Partager