Existe um pacote chamado
OWA_UTIL
(que não é instalado por padrão em versões mais antigas do banco de dados). Isso tem um método WHO_CALLED_ME()
que retorna OWNER, OBJECT_NAME, LINE_NO e CALLER_TYPE. Observe que, se o chamador for um procedimento empacotado, ele retornará o nome do PACOTE e não o nome do procedimento. Neste caso não há como obter o nome do procedimento; isso ocorre porque o nome do procedimento pode ser sobrecarregado, portanto, não é necessariamente muito útil. Descubra mais.
Desde 10gR2 existe também o
$$PLSQL_UNIT
função especial; isso também retornará o OBJECT NAME (ou seja, o procedimento do pacote não empacotado).