Tengo un procedimiento almacenado que quiero refactorizar, en una base de datos que tiene miles de SP. ¿Hay una manera rápida de encontrar referencias a ese procedimiento almacenado en otros SP para que pueda estar seguro de que no estoy rompiendo ningún otro código cuando refactorice?
En el código de la aplicación, puedo buscar llamadas al SP con bastante facilidad, y puedo hacer una búsqueda de texto en todos los diversos archivos sql que definen los SP, pero es posible que haya algunos SP en la base de datos que pueden perderse de esa manera. .
EDITAR: Los procedimientos almacenados que estoy tratando de localizar son parte de un paquete.
EDITAR: estoy corriendo en Oracle 11g
fuente
DBA_DEPENDENCIES
muéstrenos más como lo que se invalidará si se cae un objeto en particular. Entonces, por ejemplo, puede encontrar lo que ve la tabla de referencias.Esto parece funcionar: es menos elegante que la respuesta de @ MindaugasRiauba, pero parece encontrar referencias de todos los paquetes.
( ¿Cómo puede saber si se está utilizando un paquete, procedimiento o función PL / SQL? )
fuente
Tuve una situación similar, solo que necesitaba recuperar una lista de paquetes que usan un paquete específico; así que hice esta consulta, tal vez ayude:
fuente