MySQL no tiene un cursor de referencia como Oracle. Si planea escribir un procedimiento almacenado que devuelva varias filas/conjunto de resultados en MySQL, simplemente hágalo
DROP procedure IF EXISTS `sample`;
DELIMITER $$
CREATE PROCEDURE `sample`(p_rank IN INT)
BEGIN
select * from MyTable where id=p_rank;
END$$
DELIMITER ;
y llama a sample();
. Devolverá un conjunto de resultados que puede usar.