码迷,mamicode.com
首页 > 数据库 > 详细

MySQL 游标管理

时间:2016-11-09 13:09:58      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:mysql   游标   cursor   

  在理解了Oracle上的游标之后,再去翻MySQL中关于游标的说明,发现这块讲得比较简单,用一个例子来说明就能理解MySQL游标的使用方法。

游标的使用分为4步:分别是打开游标(open)、游标循环(loop,leave)、提取数据(fetch)、关闭游标(close)。

  这里使用了Mysql官方文档(5.5)中的例子:


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;#这里相当于exit when cursor%notfound

    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;


本文出自 “三国冷笑话” 博客,请务必保留此出处http://myhwj.blog.51cto.com/9763975/1870898

MySQL 游标管理

标签:mysql   游标   cursor   

原文地址:http://myhwj.blog.51cto.com/9763975/1870898

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!