Re: record to columns: syntax question and strange behaviour - Mailing list pgsql-sql

From Thomas Pundt
Subject Re: record to columns: syntax question and strange behaviour
Date
Msg-id 4AE72BEE.5070801@rp-online.de
Whole thread Raw
In response to record to columns: syntax question and strange behaviour  ("Marc Mamin" <M.Mamin@intershop.de>)
List pgsql-sql
Hi,

Marc Mamin schrieb:
> how should I retrieve the result from a function with some OUT
> paramenters?
> 
> (PG is  8.3.7)
> 
> here a short example to illustrate my question:
> 
> CREATE OR REPLACE FUNCTION test (In a int, OUT b int, OUT c int) AS
> $BODY$
> BEGIN
>   b:=a+1;
>   c:=a+2;
>   raise notice 'done: %', a;
> END
> 
> $BODY$
>   LANGUAGE 'plpgsql' IMMUTABLE

IMO easiest would be to include a   RETURNS SETOF record   in the
function declaration and a   return next;   statement in the function
body. E.g.


CREATE OR REPLACE FUNCTION test (In a int, OUT b int, OUT c int)
RETURNS SETOF record
AS
$BODY$
BEGIN  b:=a+1;  c:=a+2;  return next;
END
$BODY$  LANGUAGE 'plpgsql'

and then issue

SELECT * FROM test(1);

Ciao,
Thomas


pgsql-sql by date:

Previous
From: "Marc Mamin"
Date:
Subject: record to columns: syntax question and strange behaviour
Next
From: "Marc Mamin"
Date:
Subject: Re: record to columns: syntax question and strange behaviour