近期写的一个比较罗嗦的Oracle after update触发器

CREATE OR REPLACE TRIGGER TRG_PRODUCTLIST_UPDATE
AFTER UPDATE OF ISPUBLISH
ON PRODUCTLIST
FOR   EACH   ROW
declare
   ProvideNo ProvideInfo.ProvideNo%type;
   InfoTitle ProvideInfo.InfoTitle%type;
   FarmProduct ProvideInfo.FarmProduct%type;
   FarmClass ProvideInfo.FarmClass%type;
   Amount ProvideInfo.Amount%type;
   Price ProvideInfo.Price%type;
   ProductImage Provideinfo.Productimage%type;
   Info Provideinfo.Info%type;
   Contact Provideinfo.Contact%type;
   RegionNo Provideinfo.Regionno%type;
   Region1 Provideinfo.Region1%type;  --地市
   Region2 Provideinfo.Region2%type;  --区县
   MainRegionNo Region.Pregionno%type; --地市编号
   PublicTime Provideinfo.Publictime%type;
   PublicStatus Provideinfo.Publicstatus%type;
   IsLimitDays Provideinfo.Islimitdays%type;
   InfoPri Provideinfo.Infopri%type;
   FromMode Provideinfo.Frommode%type;
   FromMobile Provideinfo.Frommobile%type;
   FromUserNo Provideinfo.Fromuserno%type;
   FromUserName Provideinfo.Fromusername%type;
   SubmitTime Provideinfo.Submittime%type;
begin
   if :New.ISPUBLISH=0 then
     delete from ProvideInfo where ProvideNo=:NEW.ProvideNo;
     delete from Productrecommend where ProvideNo=:NEW.ProvideNo;
   end if;
  
   if :New.ISPUBLISH=1 then
     select getNext_ProvideNo into ProvideNo from dual;
     InfoTitle:='供应'+:NEW.FarmProduct;
     FarmProduct:=:NEW.FarmProduct;
     FarmClass:=:NEW.FarmClass;
     Amount:=:NEW.Amount;
     Price:=:NEW.Price;
     ProductImage:=:NEW.ProductImage;
     Info:=:NEW.Info;
     select SpaceName+ContactTel into Contact from SpaceList where SpaceNo=:new.SpaceNo;
     select RegionNo,SpacePri,SpaceNo,SpaceName
     into RegionNo,InfoPri,FromUserNo,FromUserName
     from SpaceList where SpaceNo=:new.SpaceNo;
     --取区县
     select Region,PRegionNo into Region2,MainRegionNo from Region where Region.Regionno=Regionno;
     --取地市
     select Region into Region1 from region where PRegionNo=MainRegionNo;
     select sysdate into PublicTime from dual;
     PublicStatus:=1;
     IsLimitDays:=0;
     FromMode:=7;
     select mobile into FromMobile from users where SpaceNo=:new.SpaceNo;
     select sysdate into SubmitTime from dual;
    
     insert into ProvideInfo(ProvideNo,InfoTitle,FarmProduct,FarmClass,Amount,
     Price,ProductImage,Info,Contact,RegionNo,Region1,Region2,PublicTime,PublicStatus,
     IsLimitDays,InfoPri,FromMode,FromMobile,FromUserNo,FromUserName,SubmitTime)
     values(ProvideNo,InfoTitle,FarmProduct,FarmClass,Amount,
     Price,ProductImage,Info,Contact,RegionNo,Region1,Region2,PublicTime,PublicStatus,
     IsLimitDays,InfoPri,FromMode,FromMobile,FromUserNo,FromUserName,SubmitTime);
   end if;
end TRG_PRODUCTLIST_UPDATE;
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值