• 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
    
  • 相关阅读:
    各种排序
    最大子数组的和与积
    字符串距离
    二叉树的基本操作
    C++11创建线程的几种方式
    二分查找
    汉诺塔问题
    读写锁实现
    全排列
    数字转汉字
  • 原文地址:https://www.cnblogs.com/aaronguo/p/2542283.html
Copyright © 2020-2023  润新知