Re: Return Query with simple function

From: Rodrigo E(dot) De León Plicet <rdeleonp(at)gmail(dot)com>
To: dvanatta <dvanatta(at)yahoo(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Return Query with simple function
Date: 2008-02-24 02:56:21
Message-ID: a55915760802231856r74c3519fiddc0595f8ffc8bed@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 2/23/08, dvanatta <dvanatta(at)yahoo(dot)com> wrote:
> How should this function be written?

Define output parameters in the function and return SETOF RECORD, e.g.:

--- SQL ---
CREATE OR REPLACE FUNCTION
GET_FOO1(BAR INT, OUT BAZ INT, OUT ZAB INT)
RETURNS SETOF RECORD AS
$BODY$
SELECT $1, $1;
$BODY$
LANGUAGE 'SQL';

SELECT * FROM GET_FOO1(42);

baz | zab
-----+-----
42 | 42
(1 row)

--- PL/PgSQL ---
CREATE OR REPLACE FUNCTION
GET_FOO2(BAR INT, OUT BAZ INT, OUT ZAB INT)
RETURNS SETOF RECORD AS
$BODY$
BEGIN
RETURN QUERY SELECT BAR, BAR;
END;
$BODY$
LANGUAGE 'PLPGSQL';

SELECT * FROM GET_FOO2(42);

baz | zab
-----+-----
42 | 42
(1 row)

In response to

Browse pgsql-general by date

  From Date Subject
Next Message justin tocci 2008-02-24 03:53:40 APEX / HTML DB for PostgreSQL
Previous Message ljb 2008-02-24 01:33:19 8.3 INSTALL: Why must I backup while my database is busy?