Курсор MySQL: неизвестный столбец «сделано» в «списке полей» - PullRequest
0 голосов
/ 25 марта 2012

Я пытаюсь использовать курсорный цикл в 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 Ответ

3 голосов
/ 25 марта 2012

Вы не объявили done.DECLARE done INT DEFAULT FALSE; и в конце DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...