ITERATE 문은 MySQL의 저장 프로시저(Stored Procedure)에서 사용하는 제어 흐름(Control Flow) 명령문입니다.
이 문은 반복문(LOOP, WHILE, REPEAT) 내에서 지정한 레이블(Label)로 돌아가도록 지시하는 데 사용됩니다.
간단히 말해, ITERATE는 반복문의 시작 위치로 제어를 이동시켜 다시 반복을 시작하게 해줍니다.
ITERATE는 일반적인 프로그래밍 언어의 continue 구문과 유사합니다. 특정 조건을 만족하면 순환을 재개하거나, 반복 구조의 나머지 부분을 건너뛸 때 활용됩니다. 반드시 레이블(Label)이 지정된 반복문 안에서 사용되어야 하며, 지정한 레이블로 제어를 반환합니다.
문법
ITERATE label_name;
- label_name은 반복문의 이름(Label)입니다. 반복문을 구분하기 위해 사용됩니다.
간단한 예제
아래는 ITERATE를 사용하는 간단한 MySQL 저장 프로시저 예제입니다. 이 프로시저는 숫자 1부터 10까지 나열하면서 숫자 5를 건너뛰는 작업을 수행합니다.
DELIMITER //
CREATE PROCEDURE SkipFive()
BEGIN
DECLARE counter INT DEFAULT 0;
outer_loop: LOOP
SET counter = counter + 1;
-- 특정 값(5)을 건너뜁니다.
IF counter = 5 THEN
ITERATE outer_loop;
END IF;
-- 출력 결과를 확인하기 위해 선택합니다.
SELECT counter;
-- 반복 종료 조건
IF counter >= 10 THEN
LEAVE outer_loop;
END IF;
END LOOP outer_loop;
END; //
DELIMITER ;
이 저장 프로시저를 실행하면 다음과 같은 결과를 출력합니다:
CALL SkipFive();
결과:
1
2
3
4
6
7
8
9
10
실행 로직 설명:
1. counter 변수를 초기화하여 0부터 시작합니다.
2. LOOP를 통해 counter 값을 1씩 증가시킵니다.
3. IF counter = 5 조건이 참인 경우, ITERATE outer_loop를 실행하여 현재 반복의 나머지 명령문(SELECT counter, 종료 조건 체크)을 건너뛰고 다시 outer_loop 레이블로 돌아갑니다.
4. counter가 10 이상이 되면, LEAVE outer_loop를 통해 반복문을 종료합니다.
주요 포인트
1. ITERATE는 반드시 특정 레이블로 이동하도록 지정해야 하며, 레이블이 없는 반복문에서 사용할 수 없습니다.
2. 반복문 내에서 남은 처리 없이 다음 순환으로 넘어갈 때 효율적으로 사용됩니다.
3. ITERATE는 현재 순환만 건너뛰며, LEAVE와 달리 반복문 자체를 종료하지 않습니다.
이처럼, ITERATE는 MySQL에서 반복문의 흐름을 세밀하게 제어할 때 유용하게 사용할 수 있는 문장입니다. 예제를 통해 기본 동작 방식을 익히고, 필요에 따라 응용해 보시길 권장합니다.
'SQL > MYSQL' 카테고리의 다른 글
[MySQL] RETURN 문 사용 방법 및 예시 (0) | 2024.12.27 |
---|---|
[MySQL] REPEAT 문 사용 방법 및 예시 (0) | 2024.12.27 |
[MySQL] LOOP 문 사용 방법 및 예시 (0) | 2024.12.26 |
[MySQL] LEAVE 문 사용 방법 및 예시 (0) | 2024.12.26 |
[MySQL] IF 문 사용 방법 및 예시 (0) | 2024.12.23 |
[MySQL] CASE 문 사용 방법 및 예시 (1) | 2024.12.20 |
[MySQL] Local Variable 사용 방법 및 예시 (0) | 2024.12.19 |
[MySQL] Local Variable DECLARE 사용 방법 및 예시 (0) | 2024.12.17 |