Thanks to visit codestin.com
Credit goes to docs.snowflake.com

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

참고: Python Connector 코드에서 Snowflake CLI, SnowSQL, Classic Console, 또는 execute_stream 또는 execute_string 메서드를 사용하는 경우 이 예제를 대신 사용하십시오(Snowflake CLI, SnowSQL, Classic Console 및 Python Connector에서 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 |
+-----------------+