在 MySQL 中循環結果集:基於過程的方法
程式設計師經常需要在循環中處理 MySQL 查詢的結果。此任務通常使用 PHP 中的 mysql_fetch_assoc 函數或其他程式語言中的類似方法來完成。但是,也可以在 MySQL 中建立一個循環查詢結果的預存程序。
要實現這一點,可以使用如下所示的預存程序範本:
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
注意事項:
以上是如何使用預存程序循環 MySQL 結果集?的詳細內容。更多資訊請關注PHP中文網其他相關文章!