MySQL游标:“字段列表”中未知列“已完成”

时间:2012-03-25 10:42:34

标签: mysql cursor

我正在尝试在MYSQL中使用游标循环,但它无法正常工作。我基本上复制了http://dev.mysql.com/doc/refman/5.0/en/cursors.html中的示例,除了我使用函数而不是过程。那有关系吗?

当我尝试运行该功能时 - 从双重选择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 ;

1 个答案:

答案 0 :(得分:3)

你没有声明doneDECLARE done INT DEFAULT FALSE; 最后  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;