如何在oracle触发器中获取用户执行的sqll语句
如何在oracle触发器中获取用户执行的sql
A表上建立trigger,比如 after update
想在trigger中获取触发自己的update语句,并记录
请大虾帮忙
begin
declare
v_date date;
v_sqltext varchar2(1000);
begin
v_date := sysdate;
select a.sql_text into v_sqltext from v_$sqlarea A,v_$session B
where A.hash_value = B.sql_hash_value and B.audsid = userenv'sessionid');
insert into tab(annotation)
--values(v_sqltext);
values(v_sqltext);
end;
上面代码的执行结果:
sql_text = select a.sql_text into v_sqltext from v_$sqlarea A,v_$session B
where A.hash_value = B.sql_hash_value and B.audsid = userenv'sessionid');
也就是他自己,我想获取的是触发这个触发器的sql语句