【发布时间】:2014-08-19 00:42:00
【问题描述】:
我有一个 PostgreSQL 函数,它成功地将其数据返回为
table(key character varying, value integer)
但我想返回 JSON,因为它更方便。我查看了其他一些答案和文档,但是使用别名时会变得复杂(我想返回“键”和“值”作为列名)。
有人可以推荐表达这个函数的最简单和简洁的方式,以一种不需要额外复杂调用的方式:
DROP FUNCTION get_document_metadata_integer_records_by_document_id(integer);
CREATE OR REPLACE FUNCTION get_document_metadata_integer_records_by_document_id(document_id integer)
RETURNS table(key character varying, value integer) AS
$BODY$
SELECT document_metadata_records.key, document_metadata_integer_records.value FROM document_metadata_integer_records
LEFT OUTER JOIN document_metadata_records
ON document_metadata_integer_records.document_metadata_record_id = document_metadata_records.id
WHERE document_metadata_records.document_id = $1
$BODY$
LANGUAGE sql VOLATILE
COST 100;
ALTER FUNCTION get_document_metadata_integer_records_by_document_id(integer)
OWNER TO postgres;
【问题讨论】:
标签: json postgresql