LET (Snowflake Scripting)

将表达式分配给 Snowflake Scripting 变量、光标或 RESULTSET。

有关变量、光标和 RESULTSETs 的更多信息,请参阅:

备注

Snowflake Scripting 结构仅在 Snowflake Scripting 区块 内有效。

另请参阅:

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,表达式的计算结果必须是匹配的数据类型。

例如:

EXECUTE IMMEDIATE 
$$
DECLARE
  profit number(38, 2) DEFAULT 0.0;
BEGIN
  LET cost number(38, 2) := 100.0;
  LET revenue number(38, 2) DEFAULT 110.0;

  profit := revenue - cost;
  RETURN profit;
END;
$$
;
Copy

光标赋值语法

使用下列语法之一将表达式分配给 光标

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

其中:

cursor_name

为光标赋予的名称。这可以是该区块中尚未使用的任何有效 Snowflake 标识符。该标识符由其他与光标相关的命令使用,例如 FETCH (Snowflake Scripting)

query

定义光标遍历的结果集的查询。

这几乎可以是任何有效的 SELECT 语句。

resultset_name

光标要操作的 RESULTSET 的名称。

RESULTSET 赋值语法

使用以下语法将表达式分配给 RESULTSET

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

其中:

resultset_name

为 RESULTSET 赋予的名称。

该名称在当前范围内应该是唯一的。

名称必须遵循 对象标识符 的命名规则。

DEFAULT query . := query

query 的值赋给 RESULTSET。

语言: 中文