On Mon, 22 Aug 2005, Nigel Horne wrote:
> 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
It shouldn't. It only uses the table's type to describe the type output
of the function, not for actual storage.