首页 > 解决方案 > MySQL服务器中的内部光标

问题描述

我正在尝试在 MySQL 服务器中使用内部游标结构。为此,我编写了以下代码:

CREATE PROCEDURE example_proc()
BEGIN
    Declare a int;
    DECLARE done INT DEFAULT FALSE;
    DECLARE done2 INT DEFAULT FALSE;
    Declare b int;
    DECLARE cursor_i CURSOR FOR

        select 1;

  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;        
  OPEN cursor_i;
  read_loop: LOOP
    FETCH cursor_i INTO a;

        DECLARE cursor_j CURSOR FOR
            select 2;
        DECLARE CONTINUE HANDLER FOR NOT FOUND SET done2 = TRUE;        
        OPEN cursor_j;
        read_loop2: LOOP
        FETCH cursor_j INTO b;

    end loop;
    close cursor_j;

  END LOOP;
  CLOSE cursor_i;
END;

但我在这一行有一个语法错误DECLARE cursor_j CURSOR FOR 。它说Syntax error: missing 'SEMICOLON'。我不明白这里有什么问题。那么我在哪里做错了?

标签: mysqlrelational-databasedatabase-cursor

解决方案


推荐阅读