CONTINUE(Snowflake Scripting)ยถ

CONTINUE (๋˜๋Š” ITERATE)๋Š” ๋ฃจํ”„ ๋ฐ˜๋ณต์—์„œ ๋‚˜๋จธ์ง€ ๋ฌธ์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๋ฃจํ”„์˜ ๋‹ค์Œ ๋ฐ˜๋ณต์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

๋ฃจํ”„์˜ ํ˜„์žฌ ๋ฐ˜๋ณต์„ ์ข…๋ฃŒํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฃจํ”„๋ฅผ ์ข…๋ฃŒํ•˜์ง€ ์•Š๊ณ  ๋ฐ˜๋ณต ์ข…๋ฃŒํ•˜๊ธฐ ์„น์…˜์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์ฐธ๊ณ 

์ด Snowflake Scripting ๊ตฌ๋ฌธ์€ Snowflake Scripting ๋ธ”๋ก ๋‚ด์—์„œ๋งŒ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ  ํ•ญ๋ชฉ:

BREAK

๊ตฌ๋ฌธยถ

{ CONTINUE | ITERATE } [ <label> ] ;
Copy

์—ฌ๊ธฐ์„œ:

label

์„ ํƒ์  ๋ ˆ์ด๋ธ”์ž…๋‹ˆ๋‹ค. ๋ ˆ์ด๋ธ”์ด ์ง€์ •๋œ ๊ฒฝ์šฐ, CONTINUE ๋Š” ๋ ˆ์ด๋ธ”์ด ์žˆ๋Š” ๋ฃจํ”„์˜ ์ฒซ ๋ฒˆ์งธ ๋ฌธ์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ค‘์ฒฉ ๋ฃจํ”„ ๋˜๋Š” ์ค‘์ฒฉ ๋ถ„๊ธฐ์—์„œ ๋‘ ์ˆ˜์ค€ ์ด์ƒ์˜ ๋” ๋†’์€ ์ˆ˜์ค€์œผ๋กœ ๊ณ„์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ๋ฒ• ๋…ธํŠธยถ

  • CONTINUE ์™€ ITERATE ๋Š” ๋™์˜์–ด์ž…๋‹ˆ๋‹ค.

  • ๋ฃจํ”„๊ฐ€ ๋‹ค๋ฅธ ๋ฃจํ”„์— ํฌํ•จ๋œ ๊ฒฝ์šฐ, CONTINUE ์˜ ์ผ๋ถ€๋กœ์„œ ๋‘˜๋Ÿฌ์‹ธ๋Š” ๋ฃจํ”„์˜ ๋ ˆ์ด๋ธ”์„ ํฌํ•จํ•จ์œผ๋กœ์จ ํ˜„์žฌ ๋ฃจํ”„์—์„œ ๋ฒ—์–ด๋‚  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‘˜๋Ÿฌ์‹ธ๋Š” ๋ฃจํ”„์˜ ์ฒซ ๋ฒˆ์งธ ๋ฌธ์—์„œ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋ณด๋ ค๋ฉด ์•„๋ž˜์˜ ์˜ˆ ์„น์…˜์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์˜ˆยถ

๋‹ค์Œ ๋ฃจํ”„๋Š” 3๋ฒˆ ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค. CONTINUE ๋ฌธ ๋’ค์˜ ์ฝ”๋“œ๋Š” ์‹คํ–‰๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— counter2 ๋ผ๋Š” ๋ณ€์ˆ˜๋Š” 3์ด ์•„๋‹Œ 0์ด ๋ฉ๋‹ˆ๋‹ค.

DECLARE
  counter1 NUMBER(8, 0);
  counter2 NUMBER(8, 0);
BEGIN
  counter1 := 0;
  counter2 := 0;
  WHILE (counter1 < 3) DO
    counter1 := counter1 + 1;
    CONTINUE;
    counter2 := counter2 + 1;
  END WHILE;
  RETURN counter2;
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
    counter1 NUMBER(8, 0);
    counter2 NUMBER(8, 0);
BEGIN
    counter1 := 0;
    counter2 := 0;
    WHILE (counter1 < 3) DO
        counter1 := counter1 + 1;
        CONTINUE;
        counter2 := counter2 + 1;
    END WHILE;
    RETURN counter2;
END;
$$;
Copy

๋‹ค์Œ์€ ์˜ˆ๋ฅผ ์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.

+-----------------+
| anonymous block |
|-----------------|
|               0 |
+-----------------+
Copy