我尝试在 MYSQL 中使用游标循环,但它不起作用。我基本上复制了 http://dev.mysql.com/doc/refman/5.0/en/cursors.html 中的示例,除了我使用函数而不是过程。这有关系吗?
当我尝试运行该函数时 - 从 Dual 中选择 xxx() - 我收到错误:“字段列表”中未知列“完成”。该怎么办?
delimiter $$
create function xxx()
returns int deterministic
begin
DECLARE a INT;
DECLARE cur1 CURSOR FOR SELECT id FROM my_table;
OPEN cur1;
read_loop: LOOP
FETCH cur1 INTO a;
IF done THEN
LEAVE read_loop;
END IF;
END LOOP;
CLOSE cur1;
return 1;
end$$
delimiter ;
最佳答案
您没有声明完成
。
声明已完成 INT DEFAULT FALSE;
最后
声明未找到集的继续处理程序完成 = TRUE;
关于MySQL游标: unknown column "done" in 'field list' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9859542/