转载自:http://tcrct.javaeye.com/blog/341211

现想对指定用户下的指定表都作一个操作记录,有一个logs表,

字段          类型 
id          number 
objid       varchar2(50)   --操作表的ID字段 
objname     varchar2(20)   --操作表的名称 
optione      varcahr2(20)   --操作类型(增删改) 
createtime  date           --logs记录创建时间

需求就是,创建一个触发器,当对用户下的指定表进行增删改时,就对logs表增加一条操作记录。网上搜了很久都没有找到所要的答案,不知如何能自动得知操作表的ID号及正在进行的是那种类型的操作。

具体操作如下:

创建一个触发器如下:

Sql代码 
  1. create or replace trigger tr_test
  2. after update or delete or insert
  3. on t_test
  4. for each row
  5. begin
  6. if inserting then
  7. insert into t_logs  values(seq_logid.nextval,:new.id,'t_test','insert',sysdate);
  8. elsif updating then
  9. insert into t_logs  values(seq_logid.nextval,:old.id,'t_test','update',sysdate);
  10. elsif deleting then
  11. insert into t_logs  values(seq_logid.nextval,:old.id,'t_test','delete',sysdate);
  12. end if;
  13. end;[

tr_test :触发器名字 
on t_test:对那个表进行触发 
for each row:行级触发器 
begin.....end:具体操作步骤 
其中,:new.id是指insert后的ID号,old.id是指更新或删除后的ID号。seq_logid.nextval是指序列号,要建立一个q名为seq_logid的序列号

转载于:https://www.cnblogs.com/rethink/archive/2010/04/09/1708325.html

(转载)用oracle触发器对记录表增加记录的问题相关推荐

  1. Oracle触发器来记录表删除操作简单方法

    最近项目中Oracle库中一个表log_gpackage有数据丢失现象,但因为没有启用归档,所以CDC和Dataguard都无法使用.google一下,最简单的方法,增加触发器处理逻辑: ---创建触 ...

  2. [转载]Oracle触发器用法实例详解

    本文实例讲述了Oracle触发器用法.分享给大家供大家参考,具体如下: 一.触发器简介 触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行. 因此触发器不需要人为的去调用,也 ...

  3. oracle触发器 触发事件,Oracle触发器学习记录

    1.这是oracle的规定,不能对执行触发器的表进行操作. 可以对new.xxx进行操作啊,对于oracle行级触发器(for each row),不能对本表做任何操作,包括读取 原则: 在befor ...

  4. oracle 触发器的实例(转)

    触发器使用教程和命名规范 目  录 目录 触发器使用教程和命名规范 1 1,触发器简介 1 2,触发器示例 2 3,触发器语法和功能 3 4,例一:行级触发器之一 4 5,例二:行级触发器之二 4 6 ...

  5. Oracle 触发器使用实例

    触发器使用教程和命名规范 目 录 触发器使用教程和命名规范 1 1,触发器简介 1 2,触发器示例 2 3,触发器语法和功能 3 4,例一:行级触发器之一 4 5,例二:行级触发器之二 4 6,例三: ...

  6. oracle触发器高级教程

    [转自]http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_7004.htm#i2153503 CREA ...

  7. 简单的Oracle触发器使用

    简单的Oracle触发器使用 一.Oracle数据新建测试表.操作记录表和触发器 1.新建test和test_log表 create table test(name varchar2(5) prima ...

  8. Oracle 触发器(tigger)4

    Oracle 触发器(tigger) 1 触发器类型 触发器在数据库里以独立的对象存储,它与存储过程和函数不同的是,存储过程与函数需要用户显示调用才执行,而触发器是由一个事件来启动运行.即触发器是当某 ...

  9. oracle触发器报错语法,Oracle 触发器

    Oracle触发器是使用者对Oracle数据库的对象做特定的操作时,触发的一段PL/SQL程序代码,叫做触发器.触发的事件包括对表的DML操作,用户的DDL操作以及数据库事件等. 一.触发器的作用 O ...

最新文章

  1. 栈与队列4——用一个栈实现另一个栈的排序
  2. mysql 哨兵模式_Redis讲解主从复制和哨兵模式
  3. vm15+ubuntu+hadoop3.2,新手小白血泪经验
  4. VTK:PolyData之GetMiscCellData
  5. VTK:几何对象之OpenVRTessellatedBoxSource
  6. 一种基于游戏引擎的AR模式探讨(上)
  7. Azkaban使用简单笔记
  8. SAP UI5 应用开发教程之十一 :SAP UI5 容器类控件 Page 和 Panel
  9. 命令执行——系统命令执行(三)
  10. oracle 修改sgamaxsize_oracle初始化内存配置参数(sga,pga,sharepool)
  11. Centos开机自己主动挂载windows中的ntfs磁盘
  12. Linux(Ubuntu)如何处理新添加的硬盘
  13. FFMPEG关键结构体
  14. Android 集成科大讯飞语音并实现语音识别
  15. python 中文编码乱码问题原理分析及解决思路
  16. 使用phpQuery获取数组
  17. layui treeTable
  18. 「数据科学」数据科学家为什么该学习PostgreSQL
  19. RK VOP设备树分析
  20. 1. 树莓派点灯学习(UI界面控制)

热门文章

  1. OOP组合和继续的优缺点
  2. jQuery Mobile 手动显示ajax加载器,提示加载中...
  3. IOS学习之UIDatePicker控件使用
  4. NPOI 1.2教程(目录)
  5. c#解析json字符串处理清晰易懂的方法
  6. 浅谈C/C++中的指针和数组(一)
  7. ec6110刷linux系统,华为EC6110-T优盘强刷固件升级包及刷机教程
  8. java svg 读取dom结构_SVG基础以及使用Javascript DOM操作SVG
  9. 信息收集——DNS域名系统
  10. 用WindowManager实现Android悬浮框以及拖动事件