博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle 捕获 语句,oracle9i 怎样自动捕获DML 语句
阅读量:6484 次
发布时间:2019-06-23

本文共 1100 字,大约阅读时间需要 3 分钟。

SQL> desc t1

Name Null? Type

---- --------

A NUMBER

SQL> desc t_sql

Name Null? Type

---------------------------

USERNAME VARCHAR2(30)

CLIENT_IP VARCHAR2(20)

SQL_TEXT VARCHAR2(4000)

TABLE_NAME VARCHAR2(30)

OWNER VARCHAR2(30)

SQL> create or replace trigger capt_sql

2 BEFORE DELETE OR INSERT OR UPDATE ON t1

3 declare

4 n number;

5 stmt varchar2(4000);

6 sql_text ora_name_list_t;

7 begin

8 n := ora_sql_txt(sql_text);

9 FOR i IN 1..n LOOP

10 stmt := stmt || sql_text(i);

11 END LOOP;

12

13 insert into t_sql(USERNAME,CLIENT_IP,SQL_TEXT,TABLE_NAME,OWNER)

14 values(user,sys_context('userenv','ip_address'),stmt,'T1','RAINY');

15

16 end;

17 /

Trigger created.

SQL> insert into t1(a) values(1);

1 row created.

SQL> update t1 set a = 2 where a = 1;

1 row updated.

SQL> delete t1;

3 rows deleted.

SQL> commit;

Commit complete.

SQL> select * from t_sql;

USERNAME CLIENT_IP SQL_TEXT TABLE_NAME OWNER

------------------------------ ------------------------------

RAINY 10.1.30.19 insert into t1(a) values(1) T1 RAINY

RAINY 10.1.30.19 update t1 set a = 2 where a =1 T1 RAINY

RAINY 10.1.30.19 delete t1 T1 RAINY

转载地址:http://mmnuo.baihongyu.com/

你可能感兴趣的文章
Rhel6-heartbeat+lvs配置文档
查看>>
ORACLE分科目统计每科前三名的学生的语句
查看>>
0317复利计算的回顾与总结
查看>>
函数对象
查看>>
最全最新个税计算公式---今天你税了吗?
查看>>
linux shell 正则表达式(BREs,EREs,PREs)差异比较(转,当作资料查)
查看>>
二分法求平方根(Python实现)
查看>>
使用startActivityForResult方法(转)
查看>>
so在genymotation中错误问题
查看>>
Visual Studio 原生开发的10个调试技巧(二)
查看>>
Windows内核再次出现0Day漏洞 影响win2000到win10所有版本 反病毒软件恐成瞎子
查看>>
H3C品牌刀片系统强势首发
查看>>
【CSS系列】图像映射
查看>>
First blood
查看>>
SQL存储过程中的几个常见设定SET QUOTED_IDENTIFIER/NOCOUNT/XACT_ABORT ON/OFF
查看>>
Silverlight与Flash区别之一
查看>>
删除恢复Hadoop集群中的DataNode
查看>>
Silverlight 2动态创建矩形对象(附完整源代码)
查看>>
从京东技术演进看互联网企业的成长历程
查看>>
MFC ado+mysql+odbc技术分享
查看>>