Oracle
 sql >> Base de données >  >> RDS >> Oracle

Obtenir le nom de la procédure ou de la fonction appelante dans Oracle PL/SQL

Il existe un package appelé OWA_UTIL (qui n'est pas installé par défaut dans les anciennes versions de la base de données). Cela a une méthode WHO_CALLED_ME() qui renvoie OWNER, OBJECT_NAME, LINE_NO et CALLER_TYPE. Notez que si l'appelant est une procédure packagée, il renverra le nom PACKAGE et non le nom de la procédure. Dans ce cas, il n'y a aucun moyen d'obtenir le nom de la procédure; c'est parce que le nom de la procédure peut être surchargé, donc ce n'est pas forcément très utile.

En savoir plus.

Depuis 10gR2 il y a aussi le $$PLSQL_UNIT fonction spéciale; cela renverra également le NOM DE L'OBJET (c'est-à-dire que le package n'est pas une procédure packagée).