我试图从任何模式中捕获在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;
/
如何修改此代码,以便解决/解决此问题?
谢谢。
尝试使用此代码:
select osuser, username
from v$session
where sid=(select sid from v$mystat where rownum=1);