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

例如,以下 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;
  ...
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 的名称。

例如,以下 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

语言: 中文