MYSQL游标里用存储过程
时间: 2024-04-06 09:18:19 浏览: 79
游标是MySQL中一种用于遍历查询结果的机制,可以在存储过程中使用。
以下是一个示例存储过程,其中使用了游标:
DELIMITER //
CREATE PROCEDURE `test_cursor`()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE name VARCHAR(50);
DECLARE age INT;
DECLARE cur CURSOR FOR SELECT name, age FROM users;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur;
read_loop: LOOP
FETCH cur INTO name, age;
IF done THEN
LEAVE read_loop;
END IF;
SELECT CONCAT(name, ' is ', age, ' years old');
END LOOP;
CLOSE cur;
END //
DELIMITER ;
在上面的存储过程中,我们声明了一个游标cur,用于遍历users表中的记录。我们使用了一个循环和FETCH语句从游标中读取每一条记录,直到所有记录都被读取完毕。在循环内部,我们使用SELECT语句输出记录的信息。
要调用存储过程,可以使用以下语句:
CALL test_cursor();
这将执行存储过程,并输出所有记录的信息。
阅读全文