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 중국어 웹사이트의 기타 관련 기사를 참조하세요!