No sé dónde se produce la información de error cuando un desencadenador no funciona correctamente.Técnicas de depuración de Oracle
Mi herramienta para escribir activadores ha sido la herramienta Oracle Sql Developer, y mi conocimiento de cómo depurarlo es prácticamente inexistente. ¿Cuáles son algunos consejos para poder encontrar información útil sobre cosas que suceden "detrás de escena"? Además, ¿hay mejores herramientas que Sql Developer para conectar, probar, depurar, etc.?
Mi método hasta ahora ha sido escribir algo (un disparador, por ejemplo), probarlo con inserciones/eliminaciones individuales, y luego espero que funcione desde ellas. ¿Hay mejores formas de asegurarte de que está haciendo exactamente lo que quieres? Por ejemplo, con una instrucción select, ¿hay alguna forma de ver (en un estado de depuración o algo así) cada nivel de la selección y cómo se ralentiza el resultado? Cualquier consejo muy apreciado.
+1 por mencionar el plan de explicación, y +1 por "todo el código funciona correctamente" :) –
No di información suficiente en mi original.Escribí un disparador que funcionaba en insertos individuales pero no múltiples, creo que debido a un problema de interbloqueo. Creo que solucioné ese problema, pero mientras estaba sucediendo fue un "error silencioso". ¿Hay algún registro o algo en lo que pueda encontrar información así? Otro seguimiento: ¿cómo terminaría un procedimiento almacenado diferente a un Por ejemplo, supongo que tengo una tabla en la que una fuente externa está poniendo datos, y otra tabla en la que quiero poner datos según esa primera tabla, y la mantengo actualizada con los datos actuales. ¿Cómo se almacena el procedimiento> desencadenar allí? –
Hay no hay errores silenciosos. O errores, fallas y vueltas atrás. O tiene éxito pero, muy posiblemente, hace lo que le has dicho que haga no lo que quieres que haga. Porque los disparadores a nivel de fila disparan durante el curso de una Enunciado SQL hay problemas de consistencia de lectura que a menudo conducen a soluciones temporales complejas y propensas a errores. –