我正在使用postgresql sp函数获取JSON格式的表数据。但是我得到了这个错误。
查询结构与函数结果类型DETAIL不匹配:返回的类型json与列1中的预期类型uuid不匹配。上下文:SQL语句“SELECT数组到json(数组聚集(行到json(技术别名)))FROM(从“Dcep”.“技术”中选择 *)技术别名”PL/pgSQL函数“Dcep”.jsontechnologies()返回查询SQL状态时的第3行:42804
我试过这个功能
CREATE OR REPLACE FUNCTION "Dcep".jsontechnologies()
RETURNS TABLE
(id uuid, technologyname text,
technologytype text,
status text,
createddate timestamp without time zone,
createdby text, createdip text,
lastmodifieddate timestamp without time zone,
lastmodifiedby text,
lastmodifiedip text, componentid uuid
) LANGUAGE 'plpgsql' AS
$BODY$
BEGIN
RETURN Query
SELECT array_to_json(array_agg(row_to_json(tech_alias)))
FROM (select * from "Dcep"."Technologies") tech_alias; END;
$BODY$; ALTER FUNCTION "Dcep".jsontechnologies() OWNER TO postgresql;
1条答案
按热度按时间j8yoct9x1#
我解决了错误,我将查询更改为
从(选择)中选择json_build_object('technologies',json_agg(techs))技术 t.“身份证”, t.“技术名称”, t.“技术类型”, t.“状态”, t.“组件ID” 从“Dcep”。“技术”t)techs;
此查询有效!!!