oracle 触发器 简单表实例

来源:互联网 时间:1970-01-01

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


相关阅读:
Top