首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL :在while循环中获取游标

MySQL :在while循环中获取游标
EN

Stack Overflow用户
提问于 2016-10-26 22:16:08
回答 1查看 7.3K关注 0票数 1

我想知道while循环在做什么。假设我有下表。

代码语言:javascript
运行
复制
Person | num
------------
 A     | 10
 B     |  7
 C     |  3

然后我做了以下操作,嵌套的while循环是做什么的?

代码语言:javascript
运行
复制
DECLARE done INT DEFAULT 0;
        DECLARE cur CURSOR FOR
            SELECT num FROM num_file;


DECLARE CONTINUE HANDLER FOR SQLSTATE '02000'
        SET done = 1;

    OPEN cur;
    FETCH cur INTO first_val;
    WHILE NOT done DO
        FETCH cur INTO second_val;
        IF NOT done THEN
            SET temp = second_val - first_val;
            SET first_val = second_val;
        END IF;
    END WHILE;
    CLOSE cur;

更新:是否取了每个数字之间的差额?例如:10-7;7-3;

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-27 12:48:09

首先,您已经声明了一个默认值为0的变量done

用于循环num_file表中的num_file列中的值的游标。

当获取游标中的所有行时,将设置done=1的处理程序(如果再次尝试从游标中提取一行,Mysql将返回错误代码02000 )。

然后打开光标。现在它包含具有num列值的行。

will循环将被执行,直到完成,被设置为1,也就是说,直到所有行都被获取。

在while循环中,计算num列后续值之间的差异,并将其存储在变量temp中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40272993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档