oracle 触发器 简单表实例

CREATE TABLE DWUSER.T1 (   OLD_VALUE  NUMBER(7,2),  
                NEW_VALUE  NUMBER(7,2),  
                                              UP_DATE    DATE );
CREATE TABLE DWUSER.EMP (   EMPNO     NUMBER(4),  
                  ENAME     VARCHAR2(10 BYTE),  
                 JOB       VARCHAR2(9 BYTE),  
                MGR       NUMBER(4),  
                HIREDATE  DATE,  
                SAL       NUMBER(7,2),  
                COMM      NUMBER(7,2),  
                DEPTNO    NUMBER(2) );
 --数据自己插入;
 
CREATE OR REPLACE TRIGGER DWUSER.TRG1
AFTER INSERT OR UPDATE or delete
OF sal ON DWUSER.EMP
FOR EACH ROW
BEGIN
if inserting then
INSERT INTO T1 VALUES(1,:NEW.SAL,sysdate); --1代表插入的数据
  else if updating then INSERT INTO T1 VALUES(:OLD.SAL,:NEW.SAL,sysdate);--更新的记录     
             else INSERT INTO T1 VALUES(:OLD.SAL,2,sysdate); --2代表删除的数据   
     end if;
end if;
END;
 
结果:
1601 1602 2011/12/23 16:40:40
1251 1252 2011/12/23 16:40:40
2976 2977 2011/12/23 16:40:40
1301 1302 2011/12/23 16:40:40
1       788 2011/12/23 16:43:48
1602  2    2011/12/23 16:45:26

posted on 2011-12-23 17:02  猎-户-座  阅读(488)  评论(0编辑  收藏  举报

导航