Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 触发器 简单表实例

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:26MongoDB 与 CassandraLinux下的Oracle在安装结束后需要做的操作相关资讯      Oracle基础教程 
  • Oracle块编程返回结果集详解  (11/10/2013 10:45:58)
  • Oracle基础教程之设置系统全局区  (08/22/2013 14:24:00)
  • Oracle基础教程知识点总结  (06/18/2013 07:43:32)
  • Oracle基础教程之tkprof程序详解  (10/22/2013 11:49:50)
  • Oracle基础教程之sqlplus汉字乱码  (07/18/2013 16:30:00)
  • Oracle 管理之 Linux 网络基础  (02/16/2013 18:37:35)
本文评论 查看全部评论 (0)
表情: 姓名: 字数