Je ne sais pas où les informations d'erreur disparaissent lorsqu'un déclencheur ne fonctionne pas correctement.Techniques de débogage Oracle
Mon outil d'écriture des déclencheurs a été l'outil Sql Developer d'Oracle, et ma connaissance de la façon de le déboguer est quasiment inexistante. Quels sont les indicateurs pour être en mesure de trouver des informations utiles sur les choses qui se passent "dans les coulisses"? Aussi, y at-il de meilleurs outils que Sql Developer pour se connecter, tester, déboguer, etc?
Ma méthode jusqu'ici a été d'écrire quelque chose (un déclencheur, par exemple), le tester avec des insertions/suppressions simples, puis espérer que cela fonctionne à partir d'eux. Y a-t-il de meilleurs moyens de s'assurer que c'est exactement ce que vous voulez? Par exemple, avec une instruction select, y a-t-il un moyen de voir (dans un état de débogage ou quelque chose) chaque niveau du select et comment il réduit les résultats? Tous les conseils grandement appréciés.
+1 pour mentionner le plan d'explication, et +1 pour "tout le code fonctionne correctement" :) –
Je n'ai pas donné assez d'informations dans mon original.J'ai écrit un déclencheur qui a travaillé sur des inserts simples mais pas multiples, je pense à cause d'un problème d'interblocage. Je pense que j'ai corrigé ce problème, mais pendant qu'il se passait il y avait une "erreur silencieuse" Y at-il un journal ou quelque chose que je peux trouver des informations comme ça? Un autre suivi: comment une procédure stockée finit différente d'un Disons que j'ai une table dans laquelle une source externe place des données, et une autre table dans laquelle je veux placer des données basées sur cette première table, et la garde à jour avec les données actuelles Comment est la procédure stockée> déclencher là –
Il n'y a pas d'erreur silencieuse: soit il commet une erreur, soit il échoue et il recule, soit il réussit mais, très probablement, fait ce que vous lui avez dit de ne pas faire ce que vous voulez qu'il fasse. Déclaration SQL il ya des problèmes de cohérence en lecture qui conduisent souvent à des solutions de contournement complexes et sujettes aux erreurs –