【发布时间】:2014-07-29 13:44:52
【问题描述】:
我知道 Postgres 允许返回预定义的复合数据类型、记录和带有列定义的表。
但是我没有设法返回带有定义列的简单记录,所以我总是使用表,即使我知道这只会返回一行。
所以我的函数定义看起来像这样:
CREATE OR REPLACE FUNCTION name(p_param1 text, p_param2 json)
RETURNS TABLE(
col1 bigint,
col2 integer,
col3 integer
)
如果我尝试以失败的方式返回记录:
CREATE OR REPLACE FUNCTION name(p_param1 text, p_param2 json)
RETURNS RECORD(
col1 bigint,
col2 integer,
col3 integer
)
这在 Postgres 中是不可能的吗? 我知道我可以只声明一个自定义复合数据类型,但我不想为每个返回记录的函数声明一个类型。
【问题讨论】:
-
使用OUT参数怎么样?这就是你要找的东西吗?
-
是的 - 非常感谢!!
标签: postgresql return-value record user-defined-functions plpgsql