返回顶部

收藏

MySQL存储过程使用 REPEAT 来打开游标读取数据

更多
delimiter $$
CREATE PROCEDURE myProc (in_customer_id INT)
 BEGIN
      DECLARE l_first_name  VARCHAR(30);
      DECLARE l_id          INT;
      DECLARE l_city        VARCHAR(30);
      DECLARE l_department_count INT;
      DECLARE no_more_departments INT;

      DECLARE dept_csr CURSOR FOR
           SELECT id,first_name, city
             FROM employee;

      DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_departments=1;

      SET no_more_departments=0;
      OPEN dept_csr;
      dept_loop:REPEAT
           FETCH dept_csr INTO l_id,l_first_name,l_city;
               IF no_more_departments=0 THEN
                 SET l_department_count=l_department_count+1;
               END IF;
           select  l_id,l_first_name,l_city;
      UNTIL no_more_departments
      END REPEAT dept_loop;
      CLOSE dept_csr;
      SET no_more_departments=0;

 END$$

标签:sql,mysql,游标

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. JeffJing 发表 2011-04-19 08:12:51 MySQL常用数据表操作SQL
  2. dormy 发表 2013-11-21 02:34:49 JNDI连接数据库
  3. Pangzi 发表 2015-06-06 16:05:58 MySQL中的那些坑
  4. 谢权 发表 2016-01-27 14:17:35 SQL入门练习(二)
  5. yeseng 发表 2016-07-14 16:01:51 Dropbox的神奇口袋:Dropbox架构详析第二篇
  6. 小丁 发表 2017-02-18 22:39:44 关于日志级别的一些想法
  7. hanze 发表 2017-07-19 15:10:14 linux shell小脚本分享
  8. 尖兵 发表 2018-03-06 15:45:56 mysql报错ERROR 1093
  9. 谋万世全局者 发表 2014-01-24 11:12:31 (原创)MySQL 5.6导入SQL报错解决方法:ERROR 1064 (42000): ~~’TY
  10. sulong 发表 2013-02-19 06:35:56 Mysql prepare statment in 的一个陷阱
  11. 邓龙华 发表 2015-12-20 15:51:52 MySQL好用的数学函数
  12. ITJesse 发表 2014-01-05 20:06:56 将SQL Server中的数据导入MySQL