CONTINUE (Snowflake Scripting)¶
CONTINUE (或 ITERATE)跳过循环迭代中的其余语句,并开始循环的下一次迭代。
有关终止循环的当前迭代的详细信息,请参阅 在不终止循环的情况下终止迭代。
备注
本 Snowflake Scripting 结构仅在 Snowflake Scripting 区块 内有效。
- 另请参阅:
语法¶
{ CONTINUE | ITERATE } [ <label> ] ;
其中:
label可选标签。如果指定了标签,则
CONTINUE将从循环中带有标签的第一条语句开始。您可以使用此选项在嵌套循环或嵌套分支中继续更高的多个级别。
使用说明¶
CONTINUE和ITERATE是同义的。如果循环嵌入在另一个循环中,通过将封闭循环的标签作为
CONTINUE的一部分,不仅可以脱离当前循环,还可以从封闭循环中的第一条语句开始。有关示例,请参阅下面的示例部分。
示例¶
下面的循环迭代了 3 次。因为 CONTINUE 语句后的代码没有执行,所以名为 counter2 的变量将是 0 而不是 3。
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;Note: If you use Snowflake CLI, SnowSQL, the Classic Console, or the
execute_streamorexecute_stringmethod in Python Connector code, use this example instead (see Using Snowflake Scripting in Snowflake CLI, SnowSQL, and Python Connector):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; $$;
下面是执行示例的输出:
+-----------------+
| anonymous block |
|-----------------|
| 0 |
+-----------------+