我有一个函数,它循环一个表并处理返回的值。我正在返回SETOF VARCHAR[]
并返回RETURN NEXT the_varchar_array
并且工作正常。从PostgreSQL函数返回值
但是现在我需要在VARCHAR[]
之前返回一些INTEGER
。
如何定义返回值以返回INTEGER
值和VARCHAR[]
以及如何将它们返回到函数内?
如果定义为RETURNS SETOF INTEGER, INTEGER, INTERGER, VARCHAR[]
,则不起作用。
如果我使用RETURNS TABLE(a INTEGER, b INTEGER, c INTEGER, d VARCHAR[])
的作品,但我不知道如何返回函数内部的每个值。
RETURN NEXT a,b,c,d
不起作用。只有RETURN NEXT
返回空行。
[此开发文档(http://developer.postgresql.org/pgdocs/postgres/xfunc-sql.html)在PostgreSQL的显示从函数返回值的不同方式。您可能需要查看复合返回类型或包含所有值的一行数据。 –
@Cory我使用了复合类型并解决了我的问题。请回答这个问题来选择你的答案。 –
我将我的评论转换为答案。 –