简介
- 游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。
- 游标充当指针的作用。
- 尽管游标能遍历结果中的所有行,但他一次只指向一行。
- 游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行相应的操作。
语法
DECLARE <游标名称> CURSOR FOR (SELECT语句)
OPEN <游标名称>
FETCH <游标名称> INTO (声明A,声明B)
CLOSE <游标名称>
实例
CREATE PROCEDURE test()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE a VARCHAR(200) DEFAULT '';
DECLARE c VARCHAR(200) DEFAULT '';
DECLARE mycursor CURSOR FOR SELECT fusername FROM uchome_friend;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;
OPEN mycursor;
REPEAT
FETCH mycursor INTO a;
IF NOT done THEN
SET c=CONCAT(c,a);
END IF;
UNTIL done END REPEAT;
CLOSE mycursor;
SELECT c;
END;
/*(1).WHILE循环*/
[ label: ] WHILE expression DO statements END WHILE [ label ] ;
/*(2).LOOP循环*/
[ label: ] LOOP statements END LOOP [ label ] ;
/*(3).REPEAT UNTIL循环*/
[ label: ] REPEAT statements UNTIL expression END REPEAT [ label ] ;