> 数据库 > MySQL >

使用 LOOP 和 FETCH 来读取 MySQL 游标

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();


(责任编辑:IT)