关于触发器的,求大牛指点

沈彬 2018-06-15 01:26:55
现在有一个需求,
记录 数据字典SYS_DICTIONARY 数据字典关联表SYS_DICTIONARY_RELATION 自定义字段表sys_zdxxb
的变化(增删改)
我用的是Oracle11g,触发器我已经写成这样:
create trigger TR_SYS_DICTIONARY after insert or update or delete
on SYS_DICTIONARY
declare
n number;
stmt varchar2(4000);
context ora_name_list_t;
begin
n := ora_sql_txt(context);
FOR i IN 1..nvl(n, 0) LOOP
stmt := stmt || context(i);
END LOOP;
insert into UP_SQLCOLLECTION values (UP_SQLCOLLECTION_ID_SEQ.NEXTVAL,stmt,sysdate);
end;




不过我插入一条数据之后,

我要的sql语句并没有传进来,求大神教教我如何获取我插入的那条sql语句,并且插入到UP_SQLCOLLECTION这个表中。
...全文
891 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
verejava 2018-06-17
  • 打赏
  • 举报
回复
沈彬 2018-06-15
  • 打赏
  • 举报
回复
引用 1 楼 wmxcn2000 的回复:
11g 已经不能通过 sql_content 这个方法来获得 dml 了,你现在的需求,用要审计来完成。
能写个DEMO给我看看嘛,我不是太熟悉这一块
卖水果的net 2018-06-15
  • 打赏
  • 举报
回复
11g 已经不能通过 sql_content 这个方法来获得 dml 了,你现在的需求,用要审计来完成。

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧