RE: pl/pgsql and returning rows - Mailing list pgsql-sql

From Jeff Eckermann
Subject RE: pl/pgsql and returning rows
Date
Msg-id 08CD1781F85AD4118E0800A0C9B8580B0949DE@NEZU
Whole thread Raw
In response to pl/pgsql and returning rows  (wade <wade@wavefire.com>)
Responses Re: RE: pl/pgsql and returning rows  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-sql
As a workaround, you can insert your row into an existing table, then
retrieve it from there later.  I think you need to enumerate all of the
fields, as in 'INSERT INTO table VALUES (ret.field1,
ret.field2,...ret.fieldn);'.  At least, I haven't succeeded any other way.
Messy, but the best method available right now.

> -----Original Message-----
> From:    Richard Huxton [SMTP:dev@archonet.com]
> Sent:    Tuesday, March 27, 2001 2:27 AM
> To:    pgsql-sql@postgresql.org; wade
> Subject:    Re: pl/pgsql and returning rows
> 
> From: "wade" <wade@wavefire.com>
> 
> > create function get_details(int4) returns details as '
> > declare
> >   ret details%ROWTYPE;
> >   site_rec    record;
> >   cntct       contacts%ROWTYPE;
> > begin
> >   select into site_rec  * sites_table where id = $1 limit 1;
> >   select into cntct * from contacts where id = site_rec.contact;
> >
> > -- and then i populate rows of ret.
> >   ret.name := cntct.name;
> >   ret.ip := site_rec.ip;
> > .
> > .
> > .
> >   return ret;
> > end;
> > ' language 'plpgsql';
> >
> > now the problem is when is when I do a:
> >   SELECT get_details(55);
> > all i get is a single oid-looking return value:
> >  get_details
> > -------------
> >  136295592
> > (1 row)
> 
> Sorry - you can't return a row from a function at the present time (except
> for trigger functions which are special) although I believe this is on the
> todo list for a later 7.x release.
> 
> Just from the top of my head, you might try a view with a select rule,
> although I'm not completely clear what your objectives are.
> 
> - Richard Huxton
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org


pgsql-sql by date:

Previous
From: Forest Wilkinson
Date:
Subject: possible row locking bug in 7.0.3 & 7.1
Next
From: Bruce Momjian
Date:
Subject: Re: RE: pl/pgsql and returning rows