LET (Snowflakeスクリプト)

Snowflakeスクリプト変数、カーソル、または RESULTSET に式を割り当てます。

変数、カーソル、および RESULTSETs の詳細については、以下をご参照ください。

注釈

この Snowflakeスクリプト 構造は、 Snowflakeスクリプトブロック 内でのみ有効です。

こちらもご参照ください:

DECLARE

構文

LET { <variable_assignment> | <cursor_assignment> | <resultset_assignment> }
Copy

各タイプの割り当ての構文については、以下で詳しく説明します。

変数割り当て構文

次の構文を使用して、式を 変数 に割り当てます。

LET <variable_name> <type> { DEFAULT | := } <expression> ;

LET <variable_name> { DEFAULT | := } <expression> ;
Copy

条件:

variable_name

変数の名前。名前は、 オブジェクト識別子 の命名規則に従う必要があります。

type

SQL データ型

DEFAULT expression または . := expression

expression の値を変数に割り当てます。

typeexpression の両方が指定されている場合、式は一致するデータ型に評価される必要があります。

たとえば、以下の LET ステートメントは、 NUMBER 型の3つの変数を宣言し、精度を 38 に、スケールを 2 に設定します。3つの変数にはすべてデフォルト値があり、 DEFAULT または := で指定します。

BEGIN
  ...
  LET profit NUMBER(38, 2) DEFAULT 0.0;
  LET revenue NUMBER(38, 2) DEFAULT 110.0;
  LET cost NUMBER(38, 2) := 100.0;
  ...
Copy

その他の例については、以下をご参照ください。

カーソル割り当て構文

次の構文のいずれかを使用して、式を カーソル に割り当てます。

LET <cursor_name> CURSOR FOR <query> ;
Copy
LET <cursor_name> CURSOR FOR <resultset_name> ;
Copy

条件:

cursor_name

カーソルに付ける名前。これは、このブロックでまだ使用されていない有効なSnowflake 識別子 であればどれでもかまいません。識別子は、 FETCH (Snowflakeスクリプト) などの他のカーソル関連コマンドで使用されます。

query

カーソルが反復する、結果セットを定義するクエリ。

これは、有効な SELECT ステートメントの大半に当てはまります。

resultset_name

カーソルを操作するための RESULTSET の名前。

たとえば、以下の LET ステートメントは、クエリのカーソル c1 を宣言します。

BEGIN
  ...
  LET c1 CURSOR FOR SELECT price FROM invoices;
  ...
Copy

その他の例については、 カーソルの操作 をご参照ください。

RESULTSET 割り当て構文

次の構文を使用して、式を RESULTSET に割り当てます。

<resultset_name> := ( <query> ) ;
Copy

条件:

resultset_name

RESULTSET に付ける名前。

名前は、現在のスコープ内で一意である必要があります。

名前は、 オブジェクト識別子 の名前付け規則に従う必要があります。

DEFAULT query または . := query

query の値を RESULTSET に割り当てます。

たとえば、以下の LET ステートメントは、クエリの RESULTSET res を宣言します。

BEGIN
  ...
  LET res RESULTSET := (SELECT price FROM invoices);
  ...
Copy

その他の例については、 RESULTSETs の操作 をご参照ください。