如何找出哪个 oracle 登录用户调用了存储过程本身内部的存储过程。我尝试了 CURRENT_USER 但失败了。
stackoverflow上的问题与sql server有关。我正在寻找特定于oracle的。
如何找出哪个 oracle 登录用户调用了存储过程本身内部的存储过程。我尝试了 CURRENT_USER 但失败了。
stackoverflow上的问题与sql server有关。我正在寻找特定于oracle的。
您可以使用该USER
功能。或SYS_CONTEXT( 'USERENV', 'SESSION_USER' )
。
只需引用伪列 USER:
SQL> create or replace procedure sp as
2 v_user varchar2(32) := USER;
3 begin
4 dbms_output.put_line(v_user);
5 end;
6 /
Procedure created.
SQL> begin sp; end;
2 /
THEUSER
PL/SQL procedure successfully completed.
SQL>