首页 > 代码库 > Mysql游标

Mysql游标

14.6.6.1 Cursor CLOSE Syntax

14.6.6.2 Cursor DECLARE Syntax

14.6.6.3 Cursor FETCH Syntax

14.6.6.4 Cursor OPEN Syntax

Cursor可内嵌于存储过程之中,有三个属性:Asensitive(),Read only(只读),Nonscrollable(单向逐行)。其声明位于Handler之后,变量声明之前。

CREATE PROCEDURE curdemo()BEGIN  DECLARE done INT DEFAULT FALSE;  DECLARE a CHAR(16);  DECLARE b, c INT;  DECLARE cur1 CURSOR FOR SELECT id,data FROM test.t1;  DECLARE cur2 CURSOR FOR SELECT i FROM test.t2;  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;  OPEN cur1;  OPEN cur2;  read_loop: LOOP    FETCH cur1 INTO a, b;    FETCH cur2 INTO c;    IF done THEN      LEAVE read_loop;    END IF;    IF b < c THEN      INSERT INTO test.t3 VALUES (a,b);    ELSE      INSERT INTO test.t3 VALUES (a,c);    END IF;  END LOOP;  CLOSE cur1;  CLOSE cur2;END;

Mysql游标