(转载)用oracle触发器对记录表增加记录的问题
转载自:http://tcrct.javaeye.com/blog/341211
现想对指定用户下的指定表都作一个操作记录,有一个logs表,
字段 类型
id number
objid varchar2(50) --操作表的ID字段
objname varchar2(20) --操作表的名称
optione varcahr2(20) --操作类型(增删改)
createtime date --logs记录创建时间
需求就是,创建一个触发器,当对用户下的指定表进行增删改时,就对logs表增加一条操作记录。网上搜了很久都没有找到所要的答案,不知如何能自动得知操作表的ID号及正在进行的是那种类型的操作。
具体操作如下:
创建一个触发器如下:
- create or replace trigger tr_test
- after update or delete or insert
- on t_test
- for each row
- begin
- if inserting then
- insert into t_logs values(seq_logid.nextval,:new.id,'t_test','insert',sysdate);
- elsif updating then
- insert into t_logs values(seq_logid.nextval,:old.id,'t_test','update',sysdate);
- elsif deleting then
- insert into t_logs values(seq_logid.nextval,:old.id,'t_test','delete',sysdate);
- end if;
- 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触发器对记录表增加记录的问题相关推荐
- Oracle触发器来记录表删除操作简单方法
最近项目中Oracle库中一个表log_gpackage有数据丢失现象,但因为没有启用归档,所以CDC和Dataguard都无法使用.google一下,最简单的方法,增加触发器处理逻辑: ---创建触 ...
- [转载]Oracle触发器用法实例详解
本文实例讲述了Oracle触发器用法.分享给大家供大家参考,具体如下: 一.触发器简介 触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行. 因此触发器不需要人为的去调用,也 ...
- oracle触发器 触发事件,Oracle触发器学习记录
1.这是oracle的规定,不能对执行触发器的表进行操作. 可以对new.xxx进行操作啊,对于oracle行级触发器(for each row),不能对本表做任何操作,包括读取 原则: 在befor ...
- oracle 触发器的实例(转)
触发器使用教程和命名规范 目 录 目录 触发器使用教程和命名规范 1 1,触发器简介 1 2,触发器示例 2 3,触发器语法和功能 3 4,例一:行级触发器之一 4 5,例二:行级触发器之二 4 6 ...
- Oracle 触发器使用实例
触发器使用教程和命名规范 目 录 触发器使用教程和命名规范 1 1,触发器简介 1 2,触发器示例 2 3,触发器语法和功能 3 4,例一:行级触发器之一 4 5,例二:行级触发器之二 4 6,例三: ...
- oracle触发器高级教程
[转自]http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_7004.htm#i2153503 CREA ...
- 简单的Oracle触发器使用
简单的Oracle触发器使用 一.Oracle数据新建测试表.操作记录表和触发器 1.新建test和test_log表 create table test(name varchar2(5) prima ...
- Oracle 触发器(tigger)4
Oracle 触发器(tigger) 1 触发器类型 触发器在数据库里以独立的对象存储,它与存储过程和函数不同的是,存储过程与函数需要用户显示调用才执行,而触发器是由一个事件来启动运行.即触发器是当某 ...
- oracle触发器报错语法,Oracle 触发器
Oracle触发器是使用者对Oracle数据库的对象做特定的操作时,触发的一段PL/SQL程序代码,叫做触发器.触发的事件包括对表的DML操作,用户的DDL操作以及数据库事件等. 一.触发器的作用 O ...
最新文章
- 栈与队列4——用一个栈实现另一个栈的排序
- mysql 哨兵模式_Redis讲解主从复制和哨兵模式
- vm15+ubuntu+hadoop3.2,新手小白血泪经验
- VTK:PolyData之GetMiscCellData
- VTK:几何对象之OpenVRTessellatedBoxSource
- 一种基于游戏引擎的AR模式探讨(上)
- Azkaban使用简单笔记
- SAP UI5 应用开发教程之十一 :SAP UI5 容器类控件 Page 和 Panel
- 命令执行——系统命令执行(三)
- oracle 修改sgamaxsize_oracle初始化内存配置参数(sga,pga,sharepool)
- Centos开机自己主动挂载windows中的ntfs磁盘
- Linux(Ubuntu)如何处理新添加的硬盘
- FFMPEG关键结构体
- Android 集成科大讯飞语音并实现语音识别
- python 中文编码乱码问题原理分析及解决思路
- 使用phpQuery获取数组
- layui treeTable
- 「数据科学」数据科学家为什么该学习PostgreSQL
- RK VOP设备树分析
- 1. 树莓派点灯学习(UI界面控制)
热门文章
- OOP组合和继续的优缺点
- jQuery Mobile 手动显示ajax加载器,提示加载中...
- IOS学习之UIDatePicker控件使用
- NPOI 1.2教程(目录)
- c#解析json字符串处理清晰易懂的方法
- 浅谈C/C++中的指针和数组(一)
- ec6110刷linux系统,华为EC6110-T优盘强刷固件升级包及刷机教程
- java svg 读取dom结构_SVG基础以及使用Javascript DOM操作SVG
- 信息收集——DNS域名系统
- 用WindowManager实现Android悬浮框以及拖动事件