oracle监控某表变动触发器例子(监控增,删,改)
2023-06-13 09:15:25 时间
使用oracle触发器实现对某个表的增改删的监控操作,并记录到另一个表中。
代码:
createorreplacetriggertest_trigger
beforeinsertorupdateordeleteontest_table
foreachrow
declare
v_id varchar2(30);
v_bdlb varchar2(1);
v_jgdm VARCHAR2(12);
v_jgmc VARCHAR2(60);
v_gajgmc VARCHAR2(60);
v_gajgwsmc VARCHAR2(30);
v_jz VARCHAR2(30);
v_ksdwsdwmcVARCHAR2(30);
begin
/*
插入时往历史表中存放的是新插入的数据.
修改时往历史表中存放的是修改后的数据.
删除时往历史表中存放的是删除之前的数据.
*/
selectorg_id_s.nextvalintov_idfromdual;--利用seq生成主键
v_jgdm :=:new.row_id;
v_jgmc :=:new.dept_name;
v_gajgmc :=:new.dept_name;
v_gajgwsmc:=:new.bmjc;
v_jz :=substr(v_jgdm,7,2);
if"2"=:new.depttypethen
v_ksdwsdwmc:="shiju";
else
if"03"=v_jzthen
v_ksdwsdwmc:="zhi";
elsif"05"=v_jzthen
v_ksdwsdwmc:="xing";
elsif"51"=v_jzthen
v_ksdwsdwmc:="she";
else
v_ksdwsdwmc:="qita";
endif;
endif;
ifinsertingthen
v_bdlb:="1";
insertintotest_table_h
(id,bdlb,jgdm,jgmc,gajgmc,gajgwsmc,jz,ksdwsdwmc)
values
(v_id,
v_bdlb,
v_jgdm,
v_jgmc,
v_gajgmc,
v_gajgwsmc,
v_jz,
v_ksdwsdwmc);
elsifupdatingthen
v_bdlb:="2";
insertintotest_table_h
(id,bdlb,jgdm,jgmc,gajgmc,gajgwsmc,jz,ksdwsdwmc)
values
(v_id,
v_bdlb,
v_jgdm,
v_jgmc,
v_gajgmc,
v_gajgwsmc,
v_jz,
v_ksdwsdwmc);
else
v_bdlb :="3";
v_jgdm :=:old.row_id;
v_jgmc :=:old.dept_name;
v_gajgmc :=:old.dept_name;
v_gajgwsmc:=:old.bmjc;
v_jz :=substr(v_jgdm,7,2);
if"2"=:old.depttypethen
v_ksdwsdwmc:="shiju";
else
if"03"=v_jzthen
v_ksdwsdwmc:="zhi";
elsif"05"=v_jzthen
v_ksdwsdwmc:="xing";
elsif"51"=v_jzthen
v_ksdwsdwmc:="she";
else
v_ksdwsdwmc:="qita";
endif;
endif;
insertintotest_table_h
(id,bdlb,jgdm,jgmc,gajgmc,gajgwsmc,jz,ksdwsdwmc)
values
(v_id,
v_bdlb,
v_jgdm,
v_jgmc,
v_gajgmc,
v_gajgwsmc,
v_jz,
v_ksdwsdwmc);
endif;
end;
相关文章
- 掌握Oracle数据库的基本操作(oracle操作)
- Oracle数据库优化:内存分配策略(oracle内存分配内存)
- 掌握Oracle触发器的分类及使用方法(oracle触发器类型)
- 深入理解 Oracle 触发器类型(oracle触发器类型)
- 精通Oracle触发器:三大类型介绍(oracle触发器类型)
- 利用Oracle触发器执行数据库任务(oracle触发器类型)
- 熟悉Oracle触发器:实用多类型触发器技巧(oracle触发器类型)
- 利用Oracle触发器实现数据库操作的智能化(oracle触发器类型)
- 利用Oracle触发器类型保障数据安全(oracle触发器类型)
- Oracle 触发器:分类与应用(oracle触发器类型)
- 深入理解Oracle触发器类型(oracle触发器类型)
- 初探Oracle数据库触发器类型(oracle触发器类型)
- 精通 Oracle 触发器类型,成为数据库代表(oracle触发器类型)
- Oracle数据库管理之触发器类型深度解析(oracle触发器类型)
- 深入理解Oracle数据库的触发器类型(oracle触发器类型)
- Oracle运维手册:助力数据库维护与管理的核心指南(oracle运维手册)
- Oracle轻松加一分钟,轻松完成时间管理(oracle加一分钟)
- 安装Oracle:步骤与文件介绍(oracle安装文件)
- 安装Oracle数据库:全攻略.(oracle下载安装)
- Oracle数据库: 快速学习建表脚本的方法(oracle建表脚本)
- Oracle串联查询一种提高数据库查询效率的方法(oracle串联查询)
- Oracle将字符串从左边按指定位数补0(oracle从左边补0)
- 业利用Oracle EBS发展制造业的机会(oracle ebs制造)
- Oracle 9i乱码问题一句话识别之困(oracle 9i乱码)