LEAVE

LEAVE (블록 종료)

SQL 사용자 정의 함수에서 지정된 컨텍스트 블록 밖으로 처리를 이동시키는 문법이에요. 반복문을 중간에 빠져나올 때 사용해요.

출처: 문서

본문

LEAVE 문은 SQL 사용자 정의 함수에서 블록 처리를 지정된 컨텍스트 밖으로 이동시킬 수 있게 해요. 컨텍스트는 레이블로 정의돼요. 레이블을 찾지 못하면 함수는 오류 메시지와 함께 실패해요.

시그니처

LEAVE label

예시

다음 함수는 top이라는 레이블이 붙은 LOOP를 포함해요. 루프 안의 조건부 IF 문은 매개변수 p의 값이 1 이하일 때 루프 처리를 종료시킬 수 있어요. 값이 1 이하로 전달됐거나 루프를 여러 번 반복한 후에 그럴 수 있어요.

FUNCTION my_pow(n int, p int)
RETURNS int
BEGIN
  DECLARE r int DEFAULT n;
  top: LOOP
    IF p <= 1 THEN
      LEAVE top;
    END IF;
    SET r = r * n;
    SET p = p - 1;
  END LOOP;
  RETURN r;
END

LEAVE 문을 다른 문과 결합해 사용하는 다양한 복잡도의 추가 예시는 예시 SQL UDF 문서에서 확인할 수 있어요.

더 알아보기 (Learn more)

블록 시작으로 되돌아가는 반대 동작은 ITERATE에서 다루고, SQL UDF 전반은 SQL 사용자 정의 함수 문서를 참고해요.