gpt4 book ai didi

MySQL : fetch cursor in while loop

转载 作者:行者123 更新时间:2023-11-30 22:10:23 27 4
gpt4 key购买 nike

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

Person | num
------------
A | 10
B | 7
C | 3

然后我执行以下操作,嵌套的 while 循环在做什么?

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;

最佳答案

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

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

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

然后游标被打开。现在它包含值为 num 列的行。

while 循环将一直执行到 done 设置为 1。也就是说,直到获取所有行。

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

关于MySQL : fetch cursor in while loop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40272993/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com