LET (Snowflake Scripting)¶
将表达式分配给 Snowflake Scripting 变量、光标或 RESULTSET。
有关变量、光标和 RESULTSETs 的更多信息,请参阅:
备注
本 Snowflake Scripting 结构仅在 Snowflake Scripting 区块 内有效。
- 另请参阅:
语法¶
LET { <variable_assignment> | <cursor_assignment> | <resultset_assignment> }
下面将更详细地介绍每种类型的赋值的语法。
变量赋值语法¶
使用以下语法将表达式分配给 变量。
LET <variable_name> <type> { DEFAULT | := } <expression> ;
LET <variable_name> { DEFAULT | := } <expression> ;
其中:
例如,以下 LET
语句声明了三种 NUMBER 类型的变量,精度设置为 38
,比例设置为 2
。这三个变量都有一个默认值,可以使用 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;
...
有关更多示例,请参阅:
光标赋值语法¶
使用下列语法之一将表达式分配给 光标。
LET <cursor_name> CURSOR FOR <query> ;
LET <cursor_name> CURSOR FOR <resultset_name> ;
其中:
cursor_name
为光标赋予的名称。这可以是该区块中尚未使用的任何有效 Snowflake 标识符。该标识符由其他与光标相关的命令使用,例如 FETCH (Snowflake Scripting)。
query
定义光标遍历的结果集的查询。
这几乎可以是任何有效的 SELECT 语句。
resultset_name
光标要操作的 RESULTSET 的名称。
例如,以下 LET
语句为查询声明游标 c1
:
BEGIN
...
LET c1 CURSOR FOR SELECT price FROM invoices;
...
有关更多示例,请参阅 使用游标。
RESULTSET 赋值语法¶
使用以下语法将表达式分配给 RESULTSET。
<resultset_name> := ( <query> ) ;
其中:
resultset_name
为 RESULTSET 赋予的名称。
该名称在当前范围内应该是唯一的。
名称必须遵循 对象标识符 的命名规则。
DEFAULT query
或 .:= query
将
query
的值赋给 RESULTSET。
例如,以下 LET
语句为查询声明 RESULTSET res
:
BEGIN
...
LET res RESULTSET := (SELECT price FROM invoices);
...
有关更多示例,请参阅 使用 RESULTSETs。