반응형
Ant_U
DBA 개미
Ant_U
전체 방문자
오늘
어제
  • 분류 전체보기 (262)
    • AWS (3)
    • C# (1)
    • SQL (236)
      • MYSQL (186)
      • MSSQL (50)
    • 자격증 (20)
      • SQLD (12)
      • SQLP (8)

인기 글

최근 글

250x250
hELLO · Designed By 정상우.
Ant_U

DBA 개미

[MySQL] ITERATE 사용 방법 및 예시
SQL/MYSQL

[MySQL] ITERATE 사용 방법 및 예시

2024. 12. 24. 14:43
728x90
반응형

 

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에서 반복문의 흐름을 세밀하게 제어할 때 유용하게 사용할 수 있는 문장입니다. 예제를 통해 기본 동작 방식을 익히고, 필요에 따라 응용해 보시길 권장합니다.

728x90
반응형

'SQL > MYSQL' 카테고리의 다른 글

[MySQL] RETURN 문 사용 방법 및 예시  (0) 2024.12.27
[MySQL] REPEAT 문 사용 방법 및 예시  (0) 2024.12.27
[MySQL] LOOP 문 사용 방법 및 예시  (1) 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
    'SQL/MYSQL' 카테고리의 다른 글
    • [MySQL] LOOP 문 사용 방법 및 예시
    • [MySQL] LEAVE 문 사용 방법 및 예시
    • [MySQL] IF 문 사용 방법 및 예시
    • [MySQL] CASE 문 사용 방법 및 예시
    Ant_U
    Ant_U

    티스토리툴바