我尝试创建postgresql函数,它应该将一些抽象记录序列化为xml。这样的事情:to_xml(in item record, out xml text)
但是postgres不允许使用record作为输入参数类型。所以我尝试使用内置函数query_to_xml
。它接受查询和qrite查询的结果到xml。但它仅适用于select
个查询(此函数是非易失性的)。
有没有办法创建这样的通用函数?它不应该只用于plpgsql或sql语言,C也可以接受。
更新: 输出XML应如下所示:
<row>
<first_column_name>value</first_column_name>
<second_column_name>value</second_column_name>
<third_column_name>value</third_column_name>
...
</row>
答案 0 :(得分:0)
你必须做这样的事情:
select xmlagg(CAST (row as XML)) from
(SELECT
xmlelement(
name row,
xmlconcat(
xmlelement(name first_column_name, column1),
xmlelement(name second_column_name, column2)
...
)
) as row
FROM your_table) as t