Chinaunix

标题: 使用 LOOP 和 FETCH 来读取 MySQL 游标 [打印本页]

作者: boy11-2    时间: 2011-03-15 17:02
标题: 使用 LOOP 和 FETCH 来读取 MySQL 游标
  1. mysql>
  2. mysql> delimiter $$
  3. mysql> CREATE PROCEDURE myProc()
  4.     -> BEGIN
  5.     ->   DECLARE l_sale_id INT;
  6.     ->   DECLARE l_last_sale INT DEFAULT 0;
  7.     ->
  8.     ->   DECLARE sale_csr CURSOR FOR
  9.     ->     SELECT id
  10.     ->       FROM employee;
  11.     ->
  12.     ->   DECLARE CONTINUE HANDLER FOR NOT FOUND SET l_last_sale=1;
  13.     ->
  14.     ->   OPEN sale_csr;
  15.     ->   sale_loop:LOOP
  16.     ->     FETCH sale_csr INTO l_sale_id;
  17.     ->     IF l_last_sale THEN
  18.     ->       LEAVE sale_loop;
  19.     ->     END IF;
  20.     ->     select l_sale_id;
  21.     ->   END LOOP sale_loop;
  22.     ->   CLOSE sale_csr;
  23.     ->
  24.     -> END$$
  25. Query OK, 0 rows affected (0.00 sec)

  26. mysql>
  27. mysql> delimiter ;
  28. mysql> call myProc();
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2