Heim >Datenbank >MySQL-Tutorial >Wie kann ich MySQL-Ergebnismengen mithilfe gespeicherter Prozeduren durchlaufen?
Schleife über Ergebnismengen in MySQL: Ein prozedurbasierter Ansatz
Programmierer müssen die Ergebnisse von MySQL-Abfragen häufig in einer Schleife verarbeiten. Diese Aufgabe wird normalerweise mit der Funktion mysql_fetch_assoc in PHP oder ähnlichen Methoden in anderen Programmiersprachen erledigt. Es ist jedoch auch möglich, in MySQL eine gespeicherte Prozedur zu erstellen, die die Ergebnisse einer Abfrage durchläuft.
Um dies zu erreichen, kann man eine gespeicherte Prozedurvorlage wie die folgende verwenden:
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
Überlegungen:
Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Ergebnismengen mithilfe gespeicherter Prozeduren durchlaufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!