查询-》保存 存储过程

DELIMITER $$

USE `activity_v2`$$

DROP PROCEDURE IF EXISTS `user_currency_limit_merge`$$

CREATE DEFINER=`root`@`%` PROCEDURE `user_currency_limit_merge`()
BEGIN
	DECLARE no_more_departments INT(3);
	DECLARE _userName VARCHAR(20);
	DECLARE _cashLimit DOUBLE DEFAULT 0;
	DECLARE _tangCoinLimit DOUBLE DEFAULT 0;
	DECLARE	_limitAmount DOUBLE DEFAULT 0;
	DECLARE _limitCount INT(3);
	#钻石限制游标
	DECLARE cashLimitList CURSOR FOR SELECT userName,moneyLimit FROM `user_credits`;
	#金币限制游标
	DECLARE tangCoinLimitList CURSOR FOR SELECT userName,diamondLimit FROM `user_diamond_coin_limit`;
	DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_departments=1; 
	#开钻石限制游标
	SET no_more_departments=0; 
	OPEN cashLimitList;
	FETCH cashLimitList INTO _userName,_cashLimit;
	WHILE no_more_departments !=1 DO  
		INSERT INTO `user_currency_limit`(userName,limitAmount,limitStatment)VALUE(_userName,_cashLimit,_cashLimit*5);
		FETCH cashLimitList INTO _userName,_cashLimit;
	END WHILE;
	CLOSE cashLimitList;
	#开金币限制游标
	SET no_more_departments=0; 
	OPEN tangCoinLimitList;
	FETCH tangCoinLimitList INTO _userName,_tangCoinLimit;
	read_loop:LOOP
		IF no_more_departments =1 THEN
			LEAVE read_loop; 
		END IF ;
		SELECT limitAmount ,COUNT(id) INTO _limitAmount,_limitCount  FROM `user_currency_limit` WHERE userName=_userName;
		IF _limitCount>0 THEN
			UPDATE `user_currency_limit`SET limitAmount=_limitAmount+_tangCoinLimit/10000,limitStatment=(_limitAmount+_tangCoinLimit/10000)*5 WHERE userName=_userName;
		ELSE
			INSERT INTO `user_currency_limit`(userName,limitAmount,limitStatment)VALUE(_userName,_tangCoinLimit/10000,(_tangCoinLimit/10000)*5);
		END IF;
		FETCH tangCoinLimitList INTO _userName,_tangCoinLimit;	
	END LOOP; 
	CLOSE tangCoinLimitList;
END$$

DELIMITER ;

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值