gpt4 book ai didi

postgresql - plpgsql:调用带有 2 个 OUT 参数的函数

转载 作者:行者123 更新时间:2023-11-29 11:09:32 26 4
gpt4 key购买 nike

我正在尝试从带有 2 个 OUT 参数的 plpgsql 函数中获取值,但我遇到了一些问题。

这些是函数:

CREATE OR REPLACE FUNCTION get_test(OUT x text, OUT y text)
AS $$
BEGIN
x := 1;
y := 2;
END;
$$ LANGUAGE plpgsql;
----------------------------------------------------------------

CREATE OR REPLACE FUNCTION get_test_read()
RETURNS VOID AS $$
DECLARE
xx text;
yy text;
BEGIN

SELECT get_test() INTO xx, yy;

RAISE INFO 'x: <%>', xx;
RAISE INFO 'y: <%>', yy;

END;
$$ LANGUAGE plpgsql;

命令的输出:

select get_test_read();

INFO: x: <(1,2)

INFO: y: <>

get_test_read


所以这两个值都转到第一个参数。我找不到关于如何调用这样的函数的示例。

最佳答案

因为你有 2 个 OUT 参数,你的函数将返回 record .

为了获取所有值,您应该使用函数作为数据源并将其放入 FROM 子句中,如下所示:

SELECT * FROM get_test() INTO xx, yy;

关于postgresql - plpgsql:调用带有 2 个 OUT 参数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10584002/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com