+ -
当前位置:首页 → 问答吧 → 怎么在oracle中的trigger中,判断update某个字段时不做处理

怎么在oracle中的trigger中,判断update某个字段时不做处理

时间:2011-12-21

来源:互联网

如果update了tableaaa中lastday这个字段的话,不执行插入操作。

就是说对update要分3中情况

update了account字段的值为1,插入新记录到另一个表--已解决
update了lastday的值,不执行任何操作
其它update操作,插入新记录到另一个表--已解决

SQL code

CREATE OR REPLACE TRIGGER TR_DML_tableaaa
AFTER INSERT OR UPDATE ON tableaaa
FOR EACH ROW
BEGIN
IF INSERTING THEN
 INSERT INTO HANDLELOG values (TO_NUMBER(to_cha(SYSDATE,'yyyymmddhh)),'Other','AAAA-01-0001','添加用户操作成功【'||:new.ACCOUNT||'',0);
ELSIF UPDATING THEN
 IF (:new.USER_STATUS=2) THEN
   INSERT INTO HANDLELOG values (TO_NUMBER(to_cha(SYSDATE,'yyyymmddhh)),'Other','AAAA-01-0003','删除用户操作成功',0);
 ELSE
   INSERT INTO HANDLELOG values (TO_NUMBER(to_cha(SYSDATE,'yyyymmddhh)),'Other','AAAA-01-0002','修改用户基本信息操作成功【'||:new.ACCOUNT||'',0);
 END IF;
END IF;
END;


作者: charlesxu   发布时间: 2011-12-21

行级触发器的关联标识符 :old :new old是原值记录指针,new是新的


用这两个变量判断字段变化.

作者: fudaliang1999   发布时间: 2011-12-21