gpt4 book ai didi

postgresql - 返回 "record"的函数需要列定义列表

转载 作者:行者123 更新时间:2023-11-29 11:59:51 25 4
gpt4 key购买 nike

CREATE OR REPLACE FUNCTION transformServers(data jsonb)
RETURNS SETOF record as $$
DECLARE
r record;

BEGIN
for r in select.serversSet.id,serversSet.hostname from jsonb_to_recordset(data->'data') AS
serversSet (
id bigint,
hostname text,
) loop
return next r;
end loop;
return;
END;
$$ language plpgsql;

我运行上面的代码,得到一个错误提示“返回“record”的函数需要一个列定义列表

最佳答案

问题解决了!实际上问题出在另一个函数中,我在其中调用了 transformServers(json)

每次我们调用返回记录集的函数时,我们需要指定列,所以当我们调用transformServers(json)时,我们必须按照

 select * from transformServers(json) as f(id bigint, hostname text) 

我曾经做过

 select * from transformServers(json)

这是行不通的。

关于postgresql - 返回 "record"的函数需要列定义列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28576580/

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