zoukankan      html  css  js  c++  java
  • SQL 临时表 执行每日任务 会员表积分

    需要返积分的会员临时表

    declare @member table (
      id varchar(50),		   --用户ID
      TimesMoney decimal(18,2),--每日付款额度
      ReadyMoney decimal(18,2)--已返利
    )
    
    insert into @member 
    select M.Id ,U.BackBV , SUM(L.NomIn) as ReadyMoney from MemberAccount as M , UserStype as U ,ListPvorSv as L where M.DataState=1 and M.UserStype =U.Id and M.Id = L.MemberAccountId
    group by M.Id,U.BackBV
    
    select * from @member
    
    --更新会员账户
    update MemberAccount set PV=PV+h.TimesMoney from @member as h where MemberAccount.Id=h.id 
    insert into ListPvorSv
    select ltrim(NEWID()),Mb.id,Mb.TimesMoney,0,'886FE96A-05F9-4F01-98B8-163FFD26B7BE',GETDATE(),'分红返利','SYS',1,'pv','',GETDATE(),'' from @member as Mb 
    

    整理了一下放入存储过程,按时间进行执行

    --创建存储过程
    if (exists (select * from sys.objects where name = 'proc_memberRebate_streetok'))   
     drop proc proc_memberRebate_streetok
     go
     create proc proc_memberRebate_streetok
     as
       BEGIN
    		declare @member table (
    		id varchar(50),		   --用户ID
    		TimesMoney decimal(18,2),--每日付款额度
    		ReadyMoney decimal(18,2)--已返利
    		)
    
    		insert into @member 
    		select M.Id ,U.BackBV , SUM(L.NomIn) as ReadyMoney from MemberAccount as M , UserStype as U ,ListPvorSv as L where M.DataState=1 and M.UserStype =U.Id and M.Id = L.MemberAccountId
    		group by M.Id,U.BackBV
    
    		--更新会员账户
    		update MemberAccount set PV=PV+h.TimesMoney from @member as h where MemberAccount.Id=h.id 
    		insert into ListPvorSv
    		select ltrim(NEWID()),Mb.id,Mb.TimesMoney,0,'886FE96A-05F9-4F01-98B8-163FFD26B7BE',GETDATE(),'分红返利','SYS',1,'pv','',GETDATE(),'' from @member as Mb 
       end
       
     --执行存储过程
     exec proc_memberRebate_streetok  
    

     到此就已经完成每日会员表返积分,并更新向数据库插入记录

    小计:

    --取当前时间是星期几
    select DATENAME(dw,GETDATE())
    
    --个别处理
    declare @dayName nvarchar(10)
    set @dayName= DATENAME(dw,GETDATE())
    if(@dayName!='星期五')
    	begin
    	  exec proc_memberRebate_streetok
    	end
    
  • 相关阅读:
    JAVA中的SimpleDateFormat yyyy和YYYY的区别
    Mysql的MVCC
    SELECT语句中的for update的用法(锁的运用)
    今天简单说一下cdc 的使用
    sqlserver cdc用法
    JAVA | Java对象的内存分配过程是如何保证线程安全的?
    物联网(莹石云)WIFI一键配置原理分析(zz)
    Dell xps 13 9350待机时总是关机的处理方法
    Vue系列:在vux的popup组件中使用百度地图遇到显示不全的问题
    如何通过百度地图将经纬度转换为地址信息
  • 原文地址:https://www.cnblogs.com/aaronguo/p/2542283.html
Copyright © 2011-2022 走看看