【发布时间】:2020-09-22 09:28:53
【问题描述】:
我在 postgres 函数中设置了一个会话变量,但没有设置值。 非常感谢任何帮助。提前致谢。 我正在使用“PostgreSQL 10.6,由 Visual C++ build 1800 编译,64 位”
我的代码如下: 功能:
CREATE FUNCTION set_rp_vals(iv_rp_company varchar, iv_rp_portfolio varchar)
RETURNS integer
LANGUAGE plpgsql
SECURITY DEFINER
AS $function$
DECLARE
l_retval integer;
BEGIN
l_retval := 1;
RAISE NOTICE '1.iv_rp_company: >>> %', iv_rp_company;
RAISE NOTICE '2.iv_rp_portfolio: >>> %', iv_rp_portfolio;
--set the session variable
set rp.company = iv_rp_company;
set rp.portfolio = iv_rp_portfolio;
RETURN l_retval;
EXCEPTION
WHEN OTHERS THEN
RETURN 9;
END;
$function$
;
函数调用:
SELECT set_rp_vals(iv_rp_company := 'COMPAN',iv_rp_portfolio := 'PORTOF');
--检索会话变量:
select
current_setting('rp.company') as company,
current_setting('rp.portfolio') as portfolio;
【问题讨论】:
标签: postgresql function variables session