BREAK(Snowflake Scripting)

BREAK (또는 EXIT)는 루프를 종료합니다.

루프 종료에 대한 자세한 내용은 루프 종료하기 섹션을 참조하십시오.

참고

Snowflake Scripting 구문은 Snowflake Scripting 블록 내에서만 유효합니다.

참고 항목:

CONTINUE

구문

{ BREAK | EXIT } [ <label> ] ;
Copy

여기서:

label

선택적 레이블입니다. 레이블이 지정된 경우 BREAK 는 레이블 바로 뒤에 있는 문으로 이동합니다.

이를 사용하여 중첩 루프 또는 중첩 분기의 둘 이상의 수준에서 벗어날 수 있습니다.

사용법 노트

  • BREAKEXIT 는 동의어입니다.

  • 루프가 다른 루프에 포함된 경우, BREAK 의 일부로서 둘러싸는 루프의 레이블을 포함함으로써 현재 루프뿐 아니라 둘러싸는 루프에서도 나갈 수 있습니다. 예를 보려면 아래의 예 섹션을 참조하십시오.

다음은 BREAK 를 사용하여 현재 루프뿐만 아니라 둘러싸는 루프를 종료하는 예입니다.

DECLARE
  i INTEGER;
  j INTEGER;
BEGIN
  i := 1;
  j := 1;
  WHILE (i <= 4) DO
    WHILE (j <= 4) DO
      -- Exit when j is 3, even if i is still 1.
      IF (j = 3) THEN
        BREAK outer_loop;
      END IF;
      j := j + 1;
    END WHILE inner_loop;
    i := i + 1;
  END WHILE outer_loop;
  -- Execution resumes here after the BREAK executes.
  RETURN i;
END;
Copy

참고: SnowSQL 또는 Classic Console 을 사용하는 경우 대신 다음 예를 사용하십시오(SnowSQL 및 Classic Console 에서 Snowflake Scripting 사용하기 참조).

EXECUTE IMMEDIATE $$
    DECLARE
        i INTEGER;
        j INTEGER;
    BEGIN
        i := 1;
        j := 1;
        WHILE (i <= 4) DO
            WHILE (j <= 4) DO
                -- Exit when j is 3, even if i is still 1.
                IF (j = 3) THEN
                     BREAK outer_loop;
                END IF;
                j := j + 1;
            END WHILE inner_loop;
            i := i + 1;
        END WHILE outer_loop;
        -- Execution resumes here after the BREAK executes.
        RETURN i;
    END;
$$;
Copy

출력은 다음과 같습니다.

+-----------------+
| anonymous block |
|-----------------|
|               1 |
+-----------------+
Copy