[英]PostgreSQL: Dynamic Query into JSON Array
我想使用EXECUTE语句执行动态查询,并将结果放入json数组。
我正进入(状态
SQL错误[22P02]:错误:格式不正确的数组文字:“ [格式不正确的数组文字:” [{“ id”:“ 1”}]“”详细信息:“ [”必须引入显式指定的数组尺寸。PL / pgSQL函数....
这是我到目前为止所拥有的。
CREATE or replace function my_function()
returns json[] as $$
declare result json[];
begin
execute '
SELECT array_to_json(array_agg(t)) from (
select ....
) t;
' into result;
-- doing some stuff with the array
return result;
END;
$$ language 'plpgsql';
如用户“ a_horse_with_no_name”所述。 array_to_json
确实返回json对象,而不是json数组。
就我而言,我可以实现我想要的功能
CREATE or replace function my_function()
returns json as $$
declare result json;
begin
execute '
SELECT (''{ "data": '' || json_agg(t)::text || ''}'')::json from (
select ....
) t;
' into result;
-- doing some stuff with the array
return result;
END;
$$ language 'plpgsql';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.