触发Oracle-Cant捕获更改表的用户信息

问题描述 投票:0回答:1

我试图从任何模式中捕获在table_name中触发[dml-operation]的用户。在尝试编写以下代码时,它会捕获错误的osuser。

代码

 create ore replace trigger trigger_name
        after insert on table_name
        for each row
        declare
         v_username varchar2(20);
         v_osuser varchar2(20);
        begin 
        select distinct osuser, username into v_osuser, v_username from v$session where osuser in ( select sys_context('USERENV', 'os_user') from dual;
        insert into audit_table values (v_osuser, v_username);
        end;
        /

如何修改此代码,以便解决/解决此问题?

谢谢。

sql oracle plsql triggers database-trigger
1个回答
0
投票

尝试使用此代码:

select osuser, username 
from v$session 
where sid=(select sid from v$mystat where rownum=1);
© www.soinside.com 2019 - 2024. All rights reserved.