Ich habe eine gespeicherte Prozedur, die ich umgestalten möchte, in einer Datenbank mit Tausenden von SPs. Gibt es eine schnelle Möglichkeit, Verweise auf diese gespeicherte Prozedur in anderen SPs zu finden, damit ich sicher sein kann, dass ich beim Refactor keinen anderen Code beschädige?
Im Anwendungscode kann ich leicht genug nach Aufrufen des SP suchen und eine Textsuche über alle verschiedenen SQL-Dateien durchführen, die die SPs definieren. Es ist jedoch möglich, dass einige SPs in der Datenbank vorhanden sind, die auf diese Weise übersehen werden .
BEARBEITEN: Die gespeicherten Prozeduren, die ich zu finden versuche, sind Teil eines Pakets.
EDIT: Ich arbeite mit Oracle 11g
oracle
stored-procedures
Peter Bagnall
quelle
quelle
DBA_DEPENDENCIES
Zeigen Sie uns eher, was ungültig wird, wenn ein bestimmtes Objekt gelöscht wird. So können Sie zB herausfinden, welche Ansichten auf die Tabelle verweisen.Dies scheint zu funktionieren - es ist weniger elegant als die Antwort von @ MindaugasRiauba, aber es scheint Referenzen aus allen Paketen zu finden.
( Wie können Sie feststellen, ob ein PL / SQL-Paket, eine Prozedur oder eine Funktion verwendet wird? )
quelle
Ich hatte eine ähnliche Situation, nur dass ich eine Liste von Paketen abrufen musste, die ein bestimmtes Paket verwenden; Also habe ich diese Abfrage gemacht, vielleicht hilft es:
quelle