首页 > 数据库技术 > 详细

mysql 游标

时间:2015-07-23 15:22:30      阅读:135      评论:0      收藏:0      [点我收藏+]

BEGIN

DECLARE no_more_record INT DEFAULT 0;
DECLARE f_id BIGINT;
DECLARE p_m DECIMAL(18,4);
DECLARE p_account_pre DECIMAL(18,4);
DECLARE p_account DECIMAL(18,4);
DECLARE cur_record CURSOR FOR SELECT fund_id, money, account_money from fund_record where user_id=1040 ORDER BY fund_id ASC; /*首先这里对游标进行定义*/
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_record = 1; /*这个是个条件处理,针对NOT FOUND的条件,当没有记录时赋值为1*/


OPEN cur_record; /*接着使用OPEN打开游标*/
FETCH cur_record INTO f_id, p_m, p_account; /*把第一行数据写入变量中,游标也随之指向了记录的第一行*/

SET p_account_pre= p_account;

WHILE no_more_record != 1 DO

FETCH cur_record INTO f_id, p_m, p_account;
#修改账户金额
UPDATE fund_record set account_money= money+p_account_pre where fund_id=f_id;

##重置原始值
SET p_account_pre= p_m + p_account_pre;

END WHILE;
CLOSE cur_record; /*用完后记得用CLOSE把资源释放掉*/

END

mysql 游标

原文:http://www.cnblogs.com/antball/p/4670446.html

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