SQL> create table t1(a number);

表已创建。

SQL> create table t_sql(username varchar2(30),

2  client_ip varchar2(20),sql_text varchar2(4000),

3  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  /

触发器已创建

SQL>

SQL> insert into t1 values(1);

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from t_sql

2  ;

USERNAME                       CLIENT_IP

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

SQL_TEXT

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

TABLE_NAME                     OWNER

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

SYSTEM

insert into t1 values(1)

T1                             RAINY

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐