[MySQL] LOOP

참고

MySQL Documentation 13.6.5.5 LOOP Statement

설명

  • 하나 이상의 statement를 반복적으로 실행할 수 있도록 루프구조를 구현하는데 사용
  • 각 statement는 세미콜론(;)으로 구분
  • 루프 안의 statement는 루프가 종료(LEAVE statement 사용)될 때까지 반복 실행
  • stored function에서는 RETURN을 사용할 수 있으며 이때 함수는 종료된다.
  • 루프 종료문을 누락하면 무한루프가 발생한다.
  • 루프문에 레이블을 지정가능 MySQL Documentation 13.6.2 Statement Labels

syntax

[begin_label:] LOOP
    statement_list
END LOOP [end_label]

예시

CREATE PROCEDURE doiterate(p1 INT)
BEGIN
  label1: LOOP
    SET p1 = p1 + 1;
    IF p1 < 10 THEN
      ITERATE label1;
    END IF;
    LEAVE label1;
  END LOOP label1;
  SET @x = p1;
END;

links

social