LET

使用 LET 语句对变量赋值或调用用户定义的 SPL 例程,并指定返回值或对 SPL 变量赋值。

语法

元素 描述 限制 语法
function 要调用的 SPL 函数 必须存在于数据库中 标识符
SPL_var 接收函数、表达式或查询返回的值的 SPL 变量 必须被定义并在语句块的作用域中 标识符;

用法

LET 语句可将由表达式、函数或查询返回的值指定给 SPL 变量。在运行时,首先计算要被指定的值。如果可能,得到的值被强制转型为 SPL_var 数据类型并且进行赋值。如果不可能转换,则出现错误,并且变量的值保持为未定义状态。(将单一值指定给单一 SPL 变量的 LET 操作称为简单赋值。)

复合赋值给多个 SPL 变量指定多个表达式。表达式列表中的表达式的数据类型不需要与变量列表中的对应变量的数据类型相匹配。因为数据库服务器可自动转换数据类型。(对于强制转型的详细讨论,请参阅 GBase 8s SQL 参考指南。)

在多赋值操作中,等号(=)左边的变量数必须与等号(=)右边列出的由函数、表达式和查询返回的值的数量相匹配。以下示例显示了对 SPL 变量赋值的几个 LET 语句:
LET a   = c + d ;
            LET a,b = c,d ;
            LET expire_dt = end_dt + 7 UNITS DAY; 
            LET name = 'Brunhilda';
            LET sname = DBSERVERNAME;
            LET this_day = TODAY;
不能使用等号(=)右边的多个值对其它值进行操作。例如,以下语句是无效的:
LET a,b = (c,d) + (10,15); -- INVALID EXPRESSION
1 请参阅 参数
2 请参阅 表达式
3 请参阅 SELECT 语句