如何在 postgres 中的用户创建的函数中设置输出值

How to set output values in user created functions in postgres

我想了解如何在用户创建的 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"

As documented in the manual 使用 := 在 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 变量,这解释了错误消息。