2

如何找出哪个 oracle 登录用户调用了存储过程本身内部的存储过程。我尝试了 CURRENT_USER 但失败了。

stackoverflow上的问题与sql server有关。我正在寻找特定于oracle的。

4

2 回答 2

4

您可以使用该USER功能。或SYS_CONTEXT( 'USERENV', 'SESSION_USER' )

于 2012-04-27T05:28:03.783 回答
1

只需引用伪列 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>
于 2012-04-27T05:33:46.253 回答