Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Rufen Sie den Namen der aufrufenden Prozedur oder Funktion in Oracle PL/SQL ab

Es gibt ein Paket namens OWA_UTIL (das in älteren Versionen der Datenbank standardmäßig nicht installiert ist). Dies hat eine Methode WHO_CALLED_ME() die den OWNER, OBJECT_NAME, LINE_NO und CALLER_TYPE zurückgibt. Beachten Sie, dass der Aufrufer, wenn es sich um eine gepackte Prozedur handelt, den PAKET-Namen und nicht den Prozedurnamen zurückgibt. In diesem Fall gibt es keine Möglichkeit, den Prozedurnamen zu erhalten; das liegt daran, dass der Prozedurname überladen werden kann, also nicht unbedingt sehr nützlich ist.

Finde mehr heraus.

Seit 10gR2 gibt es auch die $$PLSQL_UNIT Spezialfunktion; dies gibt auch den OBJEKTNAMEN zurück (d. h. Paket, nicht gepackte Prozedur).