Als dingen werken in anonieme blokken, maar niet in opgeslagen procedures, is dat meestal vanwege de rechten van de definieerder versus de rechten van de aanroeper. Anonieme blokkades en procedures voor aanroepersrechten kunnen gebruikmaken van privileges die via rollen zijn verleend, maar de rechtenprocedures van de definieert dat niet.
Probeer return varchar2 is
. te wijzigen om return varchar2 authid current_user is
.