从PostgreSQL函数返回值

时间:2011-12-01 17:21:41

标签: sql postgresql return-value

我有一个循环表并处理返回值的函数。我正在返回SETOF VARCHAR[]并返回RETURN NEXT the_varchar_array并且工作正常。

但现在我需要在INTEGER之前返回一些VARCHAR[]

如何定义返回值以返回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会返回一个空行。

2 个答案:

答案 0 :(得分:2)

PostgreSQL中的

This development documentation显示了从函数返回值的不同方法。您可能需要查看复合返回类型或包含所有值的一行数据。

注意 - 评论根据OP的请求转换为答案

答案 1 :(得分:1)

尝试:

RETURNS SETOF record

这应该允许您返回任何您想要的信息。