- 类别:
上下文函数 (会话)
GETVARIABLE¶
返回与 SQL 变量名关联的值。
- 另请参阅:
语法¶
GETVARIABLE( '<name>' )
实参¶
name
SQL 变量的名称。
即使您在定义变量时使用小写字母,也必须以大写字母指定名称。
返回¶
返回值的数据类型是 VARCHAR。
使用说明¶
如果在同一会话中多次调用该函数,则此函数将使用当前会话的结果缓存。结果缓存适用于调用此函数的任何位置,包括策略对象的正文,例如行访问策略。
示例¶
此示例显示如何使用此函数以及获取变量值的其他方法:
SET MY_LOCAL_VARIABLE= 'my_local_variable_value'; +----------------------------------+ | status | |----------------------------------| | Statement executed successfully. | +----------------------------------+ SELECT GETVARIABLE('MY_LOCAL_VARIABLE'), SESSION_CONTEXT('MY_LOCAL_VARIABLE'), $MY_LOCAL_VARIABLE; +----------------------------------+--------------------------------------+-------------------------+ | GETVARIABLE('MY_LOCAL_VARIABLE') | SESSION_CONTEXT('MY_LOCAL_VARIABLE') | $MY_LOCAL_VARIABLE | |----------------------------------+--------------------------------------+-------------------------| | my_local_variable_value | my_local_variable_value | my_local_variable_value | +----------------------------------+--------------------------------------+-------------------------+
使用 SET 命令创建变量时,变量名称将强制为全部大写。函数 GETVARIABLE 和 SESSION_CONTEXT 必须传递函数名称的大写版本。“$”表示法适用于大写或小写变量名称。
SET var_2 = 'value_2'; +----------------------------------+ | status | |----------------------------------| | Statement executed successfully. | +----------------------------------+ SELECT GETVARIABLE('var_2'), GETVARIABLE('VAR_2'), SESSION_CONTEXT('var_2'), SESSION_CONTEXT('VAR_2'), $var_2, $VAR_2; +----------------------+----------------------+--------------------------+--------------------------+---------+---------+ | GETVARIABLE('VAR_2') | GETVARIABLE('VAR_2') | SESSION_CONTEXT('VAR_2') | SESSION_CONTEXT('VAR_2') | $VAR_2 | $VAR_2 | |----------------------+----------------------+--------------------------+--------------------------+---------+---------| | NULL | value_2 | NULL | value_2 | value_2 | value_2 | +----------------------+----------------------+--------------------------+--------------------------+---------+---------+