使用 LOOP 和 FETCH 来读取 MySQL 游标

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

mysql>
mysql> delimiter $$
mysql> CREATE PROCEDURE myProc()
    -> BEGIN
    ->   DECLARE l_sale_id INT;
    ->   DECLARE l_last_sale INT DEFAULT 0;
    ->
    ->   DECLARE sale_csr CURSOR FOR
    ->     SELECT id
    ->       FROM employee;
    ->
    ->   DECLARE CONTINUE HANDLER FOR NOT FOUND SET l_last_sale=1;
    ->
    ->   OPEN sale_csr;
    ->   sale_loop:LOOP
    ->     FETCH sale_csr INTO l_sale_id;
    ->     IF l_last_sale THEN
    ->       LEAVE sale_loop;
    ->     END IF;
    ->     select l_sale_id;
    ->   END LOOP sale_loop;
    ->   CLOSE sale_csr;
    ->
    -> END$$
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql> delimiter ;
mysql> call myProc();