IF (Snowflakeスクリプト)¶
IF ステートメントは、条件が満たされた場合にステートメントのセットを実行する方法を提供します。
分岐構造の詳細については、 条件付きロジックの操作 をご参照ください。
注釈
この Snowflakeスクリプト 構造は、 Snowflakeスクリプトブロック 内でのみ有効です。
構文¶
IF ( <condition> ) THEN
<statement>;
[ <statement>; ... ]
[
ELSEIF ( <condition> ) THEN
<statement>;
[ <statement>; ... ]
]
[
ELSE
<statement>;
[ <statement>; ... ]
]
END IF;
条件:
使用上の注意¶
キーワード
THENは必須です。ELSEIFは、1つの単語です(スペースなし)。END IFは、2つの単語です。各
THENまたはELSE句の後で、本文はBEGINおよびENDキーワードを許可しますが、本文に複数のstatementが含まれている場合でも、それらは必須ではありません。conditionが NULL の場合は、 FALSE として扱われます。
例¶
ストアドプロシージャ内のSnowflakeスクリプト IF ステートメントの例を次に示します。
CREATE OR REPLACE PROCEDURE example_if(flag INTEGER)
RETURNS VARCHAR
LANGUAGE SQL
AS
$$
BEGIN
IF (FLAG = 1) THEN
RETURN 'one';
ELSEIF (FLAG = 2) THEN
RETURN 'two';
ELSE
RETURN 'Unexpected input.';
END IF;
END;
$$
;
次に、ストアドプロシージャを呼び出すコマンドと出力を示します。
CALL example_if(3);
+-------------------+
| EXAMPLE_IF |
|-------------------|
| Unexpected input. |
+-------------------+
IF ステートメントを使用したその他の例については、次をご参照ください。
条件付きロジックの操作 - シンプルな匿名ブロック内の IF の条件に基づいて異なる値を返します。
Snowflake Scriptingの一般的な使用例 - ループ内の IF 条件に基づいて SQL ステートメントを実行します。
BREAK、 LOOP、および ループの操作 - IF 条件に基づいて BREAK ステートメントを実行し、ループを終了します。
EXCEPTION - IF 条件に基づいて例外を発生させます。