Обсуждение: out parameters and SETOF

Поиск
Список
Период
Сортировка

out parameters and SETOF

От
Jaime Casanova
Дата:
Hi,

there is a way to use OUT parameters in conjunction with SETOF?

--
regards,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

Re: out parameters and SETOF

От
Michael Fuhr
Дата:
On Thu, Jan 19, 2006 at 04:03:41PM -0500, Jaime Casanova wrote:
> there is a way to use OUT parameters in conjunction with SETOF?

Do you want to return a set of the OUT parameters or a set of
something else?  I don't think you can do the latter; for the former
use SETOF record:

CREATE FUNCTION foo(OUT x integer, OUT y integer)
RETURNS SETOF record AS $$
BEGIN
    x := 1; y := 2; RETURN NEXT;
    x := 3; y := 4; RETURN NEXT;
    x := 4; y := 5; RETURN NEXT;
END;
$$ LANGUAGE plpgsql;

SELECT * FROM foo();
 x | y
---+---
 1 | 2
 3 | 4
 4 | 5
(3 rows)

--
Michael Fuhr

Re: out parameters and SETOF

От
Jaime Casanova
Дата:
On 1/19/06, Michael Fuhr <mike@fuhr.org> wrote:
> On Thu, Jan 19, 2006 at 04:03:41PM -0500, Jaime Casanova wrote:
> > there is a way to use OUT parameters in conjunction with SETOF?
>
> Do you want to return a set of the OUT parameters or a set of
> something else?  I don't think you can do the latter; for the former
> use SETOF record:
>
> CREATE FUNCTION foo(OUT x integer, OUT y integer)
> RETURNS SETOF record AS $$
> BEGIN
>    x := 1; y := 2; RETURN NEXT;
>    x := 3; y := 4; RETURN NEXT;
>    x := 4; y := 5; RETURN NEXT;
> END;
> $$ LANGUAGE plpgsql;
>
> SELECT * FROM foo();
>  x | y
> ---+---
>  1 | 2
>  3 | 4
>  4 | 5
> (3 rows)
>
> --
> Michael Fuhr
>

ok, thanks

--
regards,
Jaime Casanova
(DBA: DataBase Aniquilator ;)