MySQL中怎么通过游标与LOOP循环遍历结果集

1324
2024/5/16 9:28:43
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在MySQL中,可以使用游标和LOOP循环来遍历结果集。以下是一个示例:

DELIMITER //

DROP PROCEDURE IF EXISTS iterate_results//

CREATE PROCEDURE iterate_results()
BEGIN
    DECLARE done INT DEFAULT FALSE;
    DECLARE id INT;
    DECLARE name VARCHAR(255);
    
    DECLARE cur CURSOR FOR SELECT id, name FROM your_table;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
    
    OPEN cur;
    
    my_loop: LOOP
        FETCH cur INTO id, name;
        IF done THEN
            LEAVE my_loop;
        END IF;
        
        -- 在这里可以对获取的数据进行处理
        SELECT id, name;
    END LOOP;
    
    CLOSE cur;
END//

DELIMITER ;

CALL iterate_results();

在上面的示例中,首先创建了一个存储过程iterate_results,该存储过程定义了一个游标cur,然后使用LOOP循环通过游标遍历查询结果集,并对每行数据进行处理。最后调用存储过程iterate_results()来执行这个过程。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: mysql建立数据库的步骤是什么