Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Was ist das Äquivalent von Oracles REF CURSOR in MySQL?

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.