oracle根据条件判断执行,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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值