MySQL이 조건에 따라 SQL 코드 블록을 반복적으로 실행할 수 있도록 하는 루프 문을 제공한다는 것을 알고 있습니다. 반복 루프 문은 이러한 종류의 루프 문 중 하나입니다. 구문은 다음과 같습니다 -
REPEAT statements; UNTIL expression END REPEAT
먼저 MySQL은 명령문을 실행한 다음 표현식을 평가합니다. 표현식이 FALSE로 평가되면 MySQL은 표현식이 TRUE로 평가될 때까지 명령문을 반복적으로 실행합니다. 반복 루프는 명령문이 실행된 후 표현식을 확인하므로 테스트 후 루프라고도 합니다.
반복 사용 시연 저장 프로시저가 있는 루프, 다음은 예입니다 -
mysql> Delimiter // mysql> CREATE PROCEDURE Repeat_Loop() -> BEGIN -> DECLARE A INT; -> DECLARE XYZ Varchar(50); -> SET A = 1; -> SET XYZ = ''; -> REPEAT -> SET XYZ = CONCAT(XYZ,A,','); -> SET A = A + 1; -> UNTIL A > 10 -> END REPEAT; -> SELECT XYZ; -> END // Query OK, 0 rows affected (0.04 sec)
이제 이 프로시저를 호출할 때 아래 결과를 볼 수 있습니다.
mysql> DELIMITER ; mysql> CALL Repeat_Loop(); +-----------------------+ | XYZ | +-----------------------+ | 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)