zoukankan      html  css  js  c++  java
  • 自己写的一个mysql存储过程

    DROP PROCEDURE IF EXISTS `p_sendGold`; 
    CREATE PROCEDURE p_sendGold()  
    BEGIN  DECLARE done INT DEFAULT 0;
       DECLARE id INT;
       DECLARE num INT;
       DECLARE flag INT;
    	 DECLARE accessory1 INT;
       DECLARE cur1 CURSOR FOR SELECT u.user_id,sum(p.num) as sum_num FROM user_info u,pay_his p where u.user_id=p.user_id and date(sub_time) = date_sub(curdate(),interval 1 day) GROUP BY p.user_id ORDER BY sum_num DESC;
       DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;  
       OPEN cur1;
    		
    	 set flag = 0;
    
       REPEAT      
          FETCH cur1 INTO id,num;  
          
         
          if(num>=1000&&num<2000) then
          	 set accessory1 = 7081;
          
          ELSEIF(num>=2000&&num<5000) then
          	 set accessory1 = 7082;				
          
          ELSEIF(num>=5000&&num<10000) then
          	 set accessory1 = 7083;				 
          
          ELSEIF(num>=10000&&num<20000) then
          	 set accessory1 = 7084;				
          
          ELSEIF(num>=20000&&num<50000) then
          	 set accessory1 = 7085;				
          
          ELSEIF(num>=50000&&num<100000) then
          	 set accessory1 = 7086;				
          
          ELSEIF(num>=100000) then
          	 set accessory1 = 7087; 
    			ELSE
    				set accessory1 = 0;
    			end IF;
    			
    			IF(accessory1>0) then
    				insert into email_info(send_user_id,get_user_id,title,content,mail_type,send_time,readed,accessory1,accessory2,accessory3,accessory4,accessory1_num,accessory2_num,accessory3_num,accessory4_num,order_code,is_del) values(0,id,'系统邮件','充值奖励',0,now(),0,accessory1,0,0,0,1,0,0,0,0,0);     
    			end IF;
    		#set flag =flag+1;#记录循环次数
       UNTIL done=1 END REPEAT;
    		
    	 
    	 #SELECT flag,num,id,accessory1;
    
       CLOSE cur1;
    #不知道为什么上面循环最好一条记录老是插入两条记录,所以这里删除一条。
    	SELECT max(email_id) into id from email_info where content='充值奖励';
    	delete from email_info where email_id=id ;
    	
      END
    

    java技术交流群57388149

  • 相关阅读:
    Amoeba -- 阿里巴巴工程师的开源项目之一陈思儒
    js表达式与语句的区别
    互联网公司github项目汇总
    CDN解决方案
    免费评论组件多说
    ajax同步的实现
    两种时间格式化对比
    Google Gson 使用简介
    使用XStream解析MXL文件用到的jar包---xpp3_min-1.1.3.4.O.jar和xstream-1.3.1.jar
    《Netty in Action》中文版
  • 原文地址:https://www.cnblogs.com/Nbge/p/3012591.html
Copyright © 2011-2022 走看看