MySQL hat keinen Refursor wie Oracle. Wenn Sie vorhaben, eine gespeicherte Prozedur zu schreiben, die mehrere Zeilen/Ergebnissätze in MySQL zurückgibt, tun Sie dies einfach
DROP procedure IF EXISTS `sample`;
DELIMITER $$
CREATE PROCEDURE `sample`(p_rank IN INT)
BEGIN
select * from MyTable where id=p_rank;
END$$
DELIMITER ;
und rufen Sie sample();
auf . Es wird eine Ergebnismenge zurückgegeben, die Sie verwenden können.