我试图了解如何在postgres中设置用户创建的函数的输出值。所以我写了这个简单的函数:
CREATE OR REPLACE FUNCTION test()
RETURNS BOOLEAN AS $return_value$
DECLARE return_value BOOLEAN;
BEGIN
SET return_value = TRUE
RETURN return_value;
END;
$return_value$ LANGUAGE plpgsql;
我想知道为什么这会产生错误
ERROR: unrecognized configuration parameter "return_value"
在PL/pgSQL中使用:=
对变量赋值
CREATE OR REPLACE FUNCTION test()
RETURNS BOOLEAN
AS
$return_value$
DECLARE
return_value BOOLEAN;
BEGIN
return_value := TRUE; --<< you are also missing a ; at the end
RETURN return_value;
END;
$return_value$
LANGUAGE plpgsql;
还有一个SQL语句SET
,但是它设置了数据库配置参数而不是分配PL/pgSQL变量,这解释了错误消息。