欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

使用 LOOP 和 FETCH 来读取 MySQL 游标

程序员文章站 2022-03-26 20:51:45
...

无详细内容 游标 MySQL mysqlmysql 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

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