使用oracle触发器 实现对某个表的增改删的监控操作,并记录到另一个表中。
代码:
复制代码 代码如下:
create or replace trigger test_trigger
before insert or update or delete on test_table
for each row
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_ksdwsdwmc VARCHAR2(30);
begin
/*
插入时往历史表中存放的是新插入的数据.
修改时往历史表中存放的是修改后的数据.
删除时往历史表中存放的是删除之前的数据.
*/
select org_id_s.nextval into v_id from dual; -- 利用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.depttype then
<