「MySQL」LOOPとFETCHを利用してMySQLカーソルを読み取る
SQLコード:
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();