日期:2014-05-16  浏览次数:20606 次

Oracle触发器实例
.

CREATE   TRIGGER   T_INSERT_原料车间配料信息 
  AFTER   INSERT   ON   原料车间配料信息  
  REFERENCING   NEW   AS   NEW   OLD   AS   OLD  
  FOR   EACH   ROW  
  DECLARE  
     
  BEGIN  
      INSERT   INTO   MES原料车间配料信息 (id,炉号,班次,秤号,料篮号,废钢,生铁,机械生铁,渣钢,黑渣,氧化铁皮,小计,合计,配料开始时间,配料完成时间,原料入炉时间,插入标志,更新标志)
      VALUES(  
          :NEW.id,   :NEW.炉号,  :NEW.班次,       
          :NEW.秤号,  :NEW.料篮号,  :NEW.废钢,
          :NEW.生铁, :NEW.机械生铁,:NEW.渣钢,
          :NEW.黑渣, :NEW.氧化铁皮, :NEW.小计,
          :NEW.合计, :NEW.配料开始时间,:NEW.配料完成时间,
          :NEW.原料入炉时间,1,0);   
      EXCEPTION  
          WHEN   OTHERS   THEN  
            --Error   Information  
          RAISE;  
  END; ;
 
  CREATE   TRIGGER   T_UPDATE_原料车间配料信息 
  AFTER   UPDATE   ON   原料车间配料信息  
  REFERENCING   NEW   AS   NEW   OLD   AS   OLD  
  FOR   EACH   ROW  
  DECLARE  
     
  BEGIN  
      UPDATE   MES原料车间配料信息
          SET ID=:NEW.ID,炉号= :NEW.炉号,  班次=:NEW.班次,       
          秤号=:NEW.秤号,  料篮号=:NEW.料篮号, 废钢= :NEW.废钢,
          生铁=:NEW.生铁,机械生铁= :NEW.机械生铁,渣钢=:NEW.渣钢,
          黑渣=:NEW.黑渣, 氧化铁皮=:NEW.氧化铁皮,小计= :NEW.小计,
          合计=:NEW.合计, 配料开始时间=:NEW.配料开始时间,配料完成时间=:NEW.配料完成时间,
          原料入炉时间=:NEW.原料入炉时间,更新标志=1 WHERE ID=:OLD.ID;
      EXCEPTION  
          WHEN   OTHERS   THEN  
            --Error   Information  
          RAISE;  
  END; ;