Maison >base de données >tutoriel mysql >Comment puis-je parcourir des ensembles de résultats MySQL à l'aide de procédures stockées ?
Bouclage sur les ensembles de résultats dans MySQL : une approche basée sur des procédures
Les programmeurs doivent souvent traiter les résultats des requêtes MySQL en boucle. Cette tâche est généralement accomplie à l'aide de la fonction mysql_fetch_assoc en PHP ou de méthodes similaires dans d'autres langages de programmation. Cependant, il est également possible de créer une procédure stockée dans MySQL qui boucle sur les résultats d'une requête.
Pour y parvenir, on peut utiliser un modèle de procédure stockée comme celui-ci :
CREATE PROCEDURE GetFilteredData() BEGIN DECLARE bDone INT; DECLARE var1 CHAR(16); DECLARE var2 INT; DECLARE var3 VARCHAR(50); DECLARE curs CURSOR FOR SELECT something FROM somewhere WHERE some stuff; DECLARE CONTINUE HANDLER FOR NOT FOUND SET bDone = 1; DROP TEMPORARY TABLE IF EXISTS tblResults; CREATE TEMPORARY TABLE IF NOT EXISTS tblResults ( Fld1 type, Fld2 type, ... ); OPEN curs; SET bDone = 0; REPEAT FETCH curs INTO var1, var2, var3; IF whatever_filtering_desired INSERT INTO tblResults VALUES (var1, var2, var3); END IF; UNTIL bDone END REPEAT; CLOSE curs; SELECT * FROM tblResults; END
Considérations :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!