gpt4 book ai didi

mysql - 将多个结果分配给一个mysql变量

转载 作者:行者123 更新时间:2023-11-30 00:22:21 24 4
gpt4 key购买 nike

我有一个过程,我需要将变量的值设置为一个查询的结果。该查询返回多个值,Mysql 抛出错误 1242 子查询返回超过 1 行。我需要将结果保存在一个变量(如数组)中,然后在其他过程中使用该变量(如参数)。这是我的代码。

CREATE PROCEDURE getCodes()
BEGIN
@code=(SELECT codref FROM referee WHERE town='Malaga');
CALL getMatch(@code);
END;$$

最佳答案

您需要使用CURSOR进行迭代:

CREATE PROCEDURE getCodes ()
BEGIN
DECLARE code int;
DECLARE cur1 CURSOR FOR SELECT coderef FROM referee WHERE town='Malaga';
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

OPEN cur1;
REPEAT
FETCH cur1 INTO code;
IF NOT done THEN
CALL getMatch(code);
END IF;
UNTIL done END REPEAT;
CLOSE cur1;
END;

参见 MySQL manual了解详情。

关于mysql - 将多个结果分配给一个mysql变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23128479/

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