可以采用dml触发器,如

  CREATE OR REPLACE TRIGGER tr_capt_sql

  BEFORE DELETE OR INSERT OR UPDATE

  ON manager.test

  DECLARE

  sql_text ora_name_list_t;

  state_sql capt$sql.sql_text%TYPE;

  BEGIN

  FOR i IN 1..ora_sql_txt(sql_text) LOOP

  state_sql := state_sql || sql_text(i);

  END LOOP;

  INSERT INTO capt$sql(login_user,capt_time,ip_address,audsid,owner,table_name,sql_text)

  VALUES(ora_login_user,sysdate,sys_context('USERENV','IP_ADDRESS'),

  userenv('SESSIONID'),'MANAGER','TEST',state_sql);

  EXCEPTION

  WHEN OTHERS THEN

  sp_write_log('Capture DML Exception:'||SQLERRM);

  END tr_capt_sql;

  在创建以上触发器时要注意几点

  1、必须创建一个capt$sql的表,用来记录ddl的记录

2、sp_write_log原本是一个写日志的过程,可以置换为自己的需要,如null跳过。

转载于:https://www.cnblogs.com/fanweisheng/p/11113426.html

oracle怎么捕获表上的DML语句(不包括select)语句)相关推荐

  1. 在mysql中更新数据sql语句怎么写_在MySQL中,更新数据库表记录的SQL语句,包括______语句...

    在MySQL中,更新数据库表记录的SQL语句,包括______语句 答:insert replace update delete 在域F中,设其特征为2,对于任意a,b∈F,则(a+b)2 等于多少 ...

  2. 将insert语句转化为select语句,进行校验,验证是否插入成功

    前言   公司的测试和运维不太懂sql,每次将sql文件交给他们到测试或者生产数据库中执行sql的时候,他们都是全部执行,不看是否执行成功.因此,就会导致有些insert语句没有执行成功,等到功能验证 ...

  3. SQL语句--INSERT INTO SELECT 语句用法示例

    通过 SQL,您可以从一个表复制信息到另一个表. INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中. SQL INSERT INTO SELECT 语句 I ...

  4. SELECT语句定义和Select语句完整的执行顺序

    SELECT语句定义: 一个完成的SELECT语句包含可选的几个子句.SELECT语句的定义如下:<SELECT clause> [<FROM clause>] [<WH ...

  5. oracle数据库查表_oracle数据库常用的99条查询语句

    1. select * from emp; 2. select empno, ename, job from emp; 3. select empno 编号, ename 姓名, job 工作 fro ...

  6. Oracle生成指定表的列名,并前后添加select from

    表的列名比较多的时候,手工一个个的写列名比较麻烦,这个函数可以让人偷偷懒 create or replace function f_GetCols(p_TableName in varchar2/*获 ...

  7. php的select case语句,调用不同SELECT语句的MySQL IF / CASE语法

    我在使用MySQL的IF或CASE语法时遇到问题 该过程如下所示: 我有一个PHP项目调用MySQL查询,比方说PHP传递了变量X. 如果X不为0,则它​​应该执行类似以下的查询: SELECT * ...

  8. Oracle 动态游标 PL/SQL 动态SQL语句 open for [using] 语句

    PL/SQL:open for [using] 语句 2017年07月19日 09:52:55 学孩儿无牙哭做粥 阅读数:681 标签: oracleSQLPLSQL 更多 个人分类: ORACLES ...

  9. mysql查询一个表有哪些索引_如何查看某张数据库表上都有哪些索引(转)

    索引使用简介 一. 关于索引的知识 要写出运行效率高的sql,需要对索引的机制有一定了解,下面对索引的基本知识做一介绍. 1. 索引的优点和局限 索引可以提高查询的效率,但会降低dml操作的效率. 所 ...

最新文章

  1. python下载了怎么打开-下载python后如何启动
  2. C# Marshal类基本概念和入门示例程序
  3. CentOs下php连mssql并配置unixODBC
  4. InetAddress.getLocalHost()详解及异常处理
  5. 美丽的数学家:如果您讨厌数学,这些其实都是人生故事
  6. Visual Studio 2010旗舰版正式版序列号 - civilman的专栏 - 博客频道 - CSDN.NET
  7. 洛谷 2312 / bzoj 3751 解方程——取模
  8. ToB销售的成交,需要客户对供应商有三个信任
  9. [纯技术讨论]从12306谈海量事务高速处理系统
  10. linux下实现getch()函数的功能,linux下有没有和windows下的getch函数功能基本一样的函数?...
  11. java word转pdf 在linux转pdf乱码解决方法
  12. 论Web App、Hybrid App、Native App三类主流APP设计差异
  13. UVALive - 4487 HDU3234 UVA12232 【带权并查集】 非常好的一道题!!!
  14. 信号转换 | 如何将正弦波转换成方波?
  15. 2019年那些成年人的崩溃瞬间,看着看着就哭了
  16. 数据库实验三 存储过程与触发器
  17. python 2048游戏的设计_Python练习:100行代码实现一个简易的2048游戏
  18. ES5和ES6的类,静态方法,继承实现代码
  19. Idea打字变成繁体
  20. 李开复致中国大学生父母的一封信

热门文章

  1. 【分布式共识二】拜占庭将军问题----口头协议
  2. 总结】Android辅助功能(一)-AccessibilityEvent的分发
  3. Thymeleaf contextPath(无废话)
  4. 两个list关联合并_算法分享---两个有序链表的合并(C语言)
  5. JZOJ 5376. 【NOIP2017提高A组模拟9.19】Candy
  6. 扫地机器人粘住老鼠板怎么办_家里老鼠的危害性及如何有效灭鼠
  7. 租赁mt4虚拟服务器,mt4服务器出租
  8. java同名类_java两个不同名类 在里面建立两个同名的类 怎么破
  9. js下拉 selenium_如何使用Python / Selenium webdriver处理Angularjs / Javascript下拉列表?
  10. 腾讯2019暑期实习生提前批CV岗笔试题