Oracle: pas d'attente / non échouer sur instruction de mise à jour
J'ai de nombreux conflits de mise à jour des déclarations dans une application multi-environnement. Avec la conception actuelle, les blocages sont fréquents.
Tout, mais les mises à jour peuvent être ignorées si nécessaire et mis à jour à l'intervalle suivant.
Puis-je appliquer NOWAIT à l'instruction de mise à jour? Puis-je avoir mon relevé échouer en mode silencieux quand il ne peut pas obtenir un verrou? Puis-je spécifier la longueur de temps qu'il tente d'obtenir un verrou?
OriginalL'auteur Synesso | 2011-04-05
Vous devez vous connecter pour publier un commentaire.
Pas vous ne pouvez pas spécifier NOWAIT sur la mise à jour de l'instruction de la NOWAIT doit être spécifié sur la SÉLECTIONNER POUR l'instruction de mise à JOUR.
Oui, vous pouvez en silence l'échec d'un select for update - Si vous spécifiez NOWAIT et traiter l'exception est générée:
Oui, une longueur de temps peut être spécifié à attendre. En lieu et place de la NOWAIT dans l'exemple ci-dessus, indiquez ATTENDRE n, où n est le nombre de secondes à attendre pour le verrouiller. Si vous ne pouvez pas obtenir le verrou en ce moment, il échouera à nouveau avec l'ORA-00054, que vous pouvez manipuler comme avant.
OriginalL'auteur DCookie
Jamais silencieusement attraper "les autres". Dans ce cas, vous devez attraper le "resource_busy exception ORA-00054".
OriginalL'auteur Olivier Comte