Postgresql 返回“0”的函数需要列定义列表;“记录”;
我运行上面的代码,得到一个错误,说“返回“record”的函数需要一个列定义列表”问题解决了!实际上问题在另一个函数中,我调用Postgresql 返回“0”的函数需要列定义列表;“记录”;,postgresql,Postgresql,我运行上面的代码,得到一个错误,说“返回“record”的函数需要一个列定义列表”问题解决了!实际上问题在另一个函数中,我调用transformServers(json) 每次调用返回记录集的函数时,我们都需要指定列,因此当调用transformServers(json)时,我们必须按照 CREATE OR REPLACE FUNCTION transformServers(data jsonb) RETURNS SETOF record as $$
transformServers(json)
每次调用返回记录集的函数时,我们都需要指定列,因此当调用transformServers(json)
时,我们必须按照
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;
以前是这样的
select * from transformServers(json) as f(id bigint, hostname text)
这不起作用。问题解决了!很高兴。实际上问题出在另一个函数中,我称之为transformServers(json)。每次调用返回记录集的函数时,我们都需要指定列,因此当我们调用transformServers(json)时,就像select*from transformServers(json)。如f(id bigint,hostname text)
我以前做过从transformServers(json)中选择*
select * from transformServers(json)