Oracle触发器示例

来源:互联网 发布:matlab2013a软件激活 编辑:程序博客网 时间:2024/05/22 14:07
CREATE OR REPLACE TRIGGER tr_ZoneReserve
   --操作类型为动作发生后,操作类型为插入或修改,就会跟踪
   after INSERT OR UPDATE ON ZONERESERVE
   FOR EACH ROW  --为行记录触发器
declare  --声明变量
  typeVal integer;  --操作类型  
  ChaWeight number(10,2);--处理的煤量
BEGIN  
   --将新增或修改前数据的插入到日志记录表zonereserve_log ,以供监督使用
   IF inserting THEN
     typeVal :=0;  --插入
      --计算处理的煤量
      ChaWeight := :new.weight;
   ELSIF updating THEN
     typeVal :=1;  --修改
      --计算处理的煤量
      ChaWeight := :old.Weight - :new.weight;
   END IF;  
   insert into zonereserve_log (id,WEIGHT,SAMPLECODEMASTERID,OPERATETYPE,ZONERESERVEID) values(AILDM_GET_GUID(),ChaWeight,:new.SAMPLECODEMASTERID,typeVal,:new.ID);
END;
 
0 0