可以在 SQLScript 中使用全局会话变量,以在同一会话中运行的过程和函数之间共享标量值。全局会话变量的值在其他会话中不可见。
要设置全局会话变量的值,请使用以下语法:
SET = ;
::= |
::=
虽然
下面的示例说明了如何在过程中设置会话变量的值:
CREATE PROCEDURE CHANGE_SESSION_VAR (IN NEW_VALUE NVARCHAR(50))
AS
BEGIN
SET 'MY_VAR' = :new_value;
END
CREATE PROCEDURE CHANGE_SESSION_VAR (IN NEW_VALUE NVARCHAR(50), IN KEY_NAME NVARCHAR(50))
AS
BEGIN
SET :key_name = :new_value || ‘_suffix’;
END
要检索会话变量,可以使用函数 SESSION_CONTEXT (
有关 SESSION_CONTEXT 的详细信息,请参阅 SAP Help Portal 上 SAP HANA SQL 和系统视图参考中的 SESSION_CONTEXT。
例如,以下函数检索会话变量 'MY_VAR' 的值
CREATE FUNCTION GET_VALUE ()
RETURNS var NVARCHAR(50)
AS
BEGIN
var = SESSION_CONTEXT('MY_VAR');
END;
备注SET