13.6.5.6 REPEAT 구문
[ begin_label
:] REPEAT statement_list
UNTIL search_condition
END REPEAT [ end_label
]
REPEAT
문 내에있는 명령문리스트는 search_condition
식이 true가 될 때까지 반복됩니다. 따라서 REPEAT
는 항상 적어도 1 회는 루프에 들어갑니다. statement_list
는 각각 세미콜론 ( ;
) 문 구분자로 끝나는 하나 이상의 문으로 구성됩니다.
REPEAT
명령문은 레이블을 지정할 수 있습니다. 라벨의 사용과 관련된 규칙 내용은 섹션 13.6.2 "문 레이블 구문" 을 참조하십시오.
예 :
mysql>delimiter //
mysql>CREATE PROCEDURE dorepeat(p1 INT)
->BEGIN
->SET @x = 0;
->REPEAT
->SET @x = @x + 1;
->UNTIL @x > p1 END REPEAT;
->END
->//
Query OK, 0 rows affected (0.00 sec) mysql>CALL dorepeat(1000)//
Query OK, 0 rows affected (0.00 sec) mysql>SELECT @x//
+------+ | @x | +------+ | 1001 | +------+ 1 row in set (0.00 sec)