温馨提示×

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

小亿
83
2024-04-30 09:28:43
栏目: 云计算

在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()来执行这个过程。

0