oracle 触发器:条件判断自动执行某些任务,不仅仅用于自增id

实现功能:当某张表写入数据时,同时将处理后的数据写入另一张表


create or replace trigger TG_sale_warehousein_gh after
insert  ON   t_sale_warehousein  FOR EACH ROW
declare yes number;
begin

  select count(*) into yes from t_sale_warehousein2 t5 where t5.product_code=:NEW.product_code and to_char(t5.warehousein_confirm_date,'yyyy-mm-dd')=to_char(:NEW.warehousein_confirm_date,'yyyy-mm-dd');
  if(yes>0) then
   update t_sale_warehousein2 set
   --product_code=:NEW.product_code,
   --product_name=:NEW.product_name,
   --plate_code=:NEW.plate_code,
   --grade=:NEW.grade,
   warehousein_num=warehousein_num+:NEW.warehousein_num,
   warehousein_weight=warehousein_weight+:NEW.warehousein_weight
   --warehousein_confirm_date=:NEW.warehousein_confirm_date
   where product_code=:NEW.product_code and to_char(warehousein_confirm_date,'yyyy-mm-dd')=to_char(:NEW.warehousein_confirm_date,'yyyy-mm-dd');
  end if;

  if(yes=0) then

   insert into t_sale_warehousein2(product_code,product_name,plate_code,grade,warehousein_num,warehousein_weight,warehousein_confirm_date)
    values(:NEW.product_code,:NEW.product_name,:NEW.plate_code,:NEW.grade,:NEW.warehousein_num,:NEW.warehousein_weight,:NEW.warehousein_confirm_date);

 end if;


end;


展开阅读全文

没有更多推荐了,返回首页