[英]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.