Mon ami m'a posé cette question et je n'ai pas réussi à la résoudre.Résolution d'un interblocage causé par des déclenchements parallèles dans Oracle
Considérons un scénario où j'ai deux déclencheurs sur table1
. Les deux sont des déclencheurs BEFORE INSERT. Les deux déclencheurs tentent de mettre à jour row 1
de table2
. Lorsque la requête INSERT est exécutée sur table1
, les deux déclencheurs tentent de mettre à jour la même ligne de table2
et un blocage est provoqué. Ceci est un problème simplifié. Dans le cas présent, il existe environ 50 déclencheurs et d'autres raisons à cause desquelles nous ne pouvons pas utiliser COMMIT dans l'un des déclencheurs.
Maintenant s'il vous plaît aidez-moi à résoudre le problème ci-dessus.
- Y at-il quelque chose par lequel je peux séquencer les déclencheurs.
- Est-il possible d'utiliser des points de sauvegarde de quelque manière que ce soit pour résoudre ce problème?
- Ou tout moyen par lequel je dois créer une table temporaire et faire quelque chose avec elle.
Veuillez expliquer si des solutions sont réalisables.