On Fri, 2005-08-19 at 17:29, Tom Lane wrote:
> Adam Witney <awitney@sgul.ac.uk> writes:
> > Ah you want to return a record I suppose?
>
> > CREATE TABLE test (id int, name text);
> > INSERT INTO test VALUES(1, 'me');
> > INSERT INTO test VALUES(2, 'you');
>
> > CREATE FUNCTION test_func() RETURNS SETOF record AS '
> > SELECT id, name FROM test;
> > ' LANGUAGE SQL;
>
> Or better, "RETURNS SETOF test", so you don't have to describe the
> output record type every time you call it.
It strikes me that there are two problems with this approach:
1) It stores the return values in the database, that seems a waste
2) It's slightly more complicated in that I have to delete the
return values from the previous call before inserting the return
values from this call, making it even more complex and slow.
>
> regards, tom lane
-Nigel