다음은 MySQL 저장 프로시저에서 FOR LOOP를 사용하는 구문입니다. -
delimiter // CREATE procedure yourProcedureName() wholeblock:BEGIN DECLARE anyVariableName1 INT ; Declare anyVariableName3 int; DECLARE anyVariableName2 VARCHAR(255); SET anyVariableName1 =1 ; SET anyVariableName3 =10; SET anyVariableName2 = ''; loop_label: FORLOOP IF anyVariableName1 > anyVariableName3 THEN LEAVE loop_label; END IF; SET anyVariableName2 = CONCAT(anyVariableName2 ,anyVariableName1 ,','); SET anyVariableName1 = anyVariableName1 + 1; ITERATE loop_label; END FORLOOP; SELECT anyVariableName2; END //
이제 위 구문을 구현할 수 있습니다. for 루프 쿼리는 다음과 같습니다. -
mysql> delimiter // mysql> CREATE procedure ForLoop() -> wholeblock:BEGIN -> DECLARE start INT ; -> Declare maxLimit int; -> DECLARE result VARCHAR(255); -> SET start =1 ; -> SET maxLimit=10; -> SET result = ''; -> loop_label: LOOP -> IF start > 10 THEN -> LEAVE loop_label; -> END IF; -> SET result = CONCAT(result,start,','); -> SET start = start + 1; -> ITERATE loop_label; -> END LOOP; -> SELECT result; -> END -> // Query OK, 0 rows affected (0.37 sec) mysql> delimiter ;
위의 for 루프는 1부터 10까지, 즉 다음과 같은 형식으로 1,2,3,4,...10을 인쇄합니다. 통화 저장됨 CALL 명령을 사용하는 절차. 구문은 다음과 같습니다 -
call yourStoredProcedureName();
호출된 쿼리는 다음과 같습니다 -
mysql> call ForLoop();
+-----------------------+ | result | +-----------------------+ | 1,2,3,4,5,6,7,8,9,10, | +-----------------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)
위 내용은 MySQL 저장 프로시저에서 FOR LOOP를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!