在 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中文网其他相关文章!