首页 > 数据库技术 > 详细

mysql 存储过程 游标 判断游标是否为空

时间:2016-08-19 19:01:11      阅读:597      评论:0      收藏:0      [点我收藏+]
BEGIN
	DECLARE id long;
	DECLARE Done INT DEFAULT 0;
	DECLARE cashamount DECIMAL(10,2) DEFAULT 0.00;
	DECLARE scorecamount INT DEFAULT 0;
	DECLARE userids CURSOR FOR SELECT userid from info_user where isreal = 1;
	DECLARE CONTINUE HANDLER FOR SQLSTATE ‘02000‘ SET Done = 1;
	

	OPEN userids;
	
	REPEAT
		
		FETCH userids into id;
		
		DELETE FROM		info_black	WHERE userid=id;
			DELETE FROM		info_consignee	  	WHERE userid=id;
			

			SET	cashamount = (SELECT balance	FROM  trade_account AS b WHERE  b.ownertype = 1 AND b.ownerid = id	AND accounttype = 1);
			UPDATE trade_account SET balance = balance + cashamount WHERE  accountid = 6500000000000000;
			
			SET scorecamount = (SELECT balance	FROM  trade_account AS b WHERE  b.ownertype = 1 AND b.ownerid = id	AND accounttype = 0);
			UPDATE trade_account SET balance = balance + scorecamount WHERE  accountid = 3500000000000000;

			DELETE a,b FROM trade_cashtrade AS a INNER JOIN trade_account AS b WHERE  b.ownertype = 1 AND b.ownerid = id	AND (a.payerid = b.accountid OR a.payeeid = b.accountid);
			DELETE a,b FROM trade_scoretrade AS a INNER JOIN trade_account AS b WHERE  b.ownertype = 1 AND b.ownerid = id	AND (a.payerid = b.accountid OR a.payeeid = b.accountid);
	UNTIL Done END REPEAT;

	CLOSE userids;
END

  

mysql 存储过程 游标 判断游标是否为空

原文:http://www.cnblogs.com/zhifengge/p/5788472.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!