From: | Jeff Eckermann <jeckermann(at)verio(dot)net> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org, wade <wade(at)wavefire(dot)com> |
Subject: | RE: pl/pgsql and returning rows |
Date: | 2001-03-27 21:43:22 |
Message-ID: | 08CD1781F85AD4118E0800A0C9B8580B0949DE@NEZU |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(at)archonet(dot)com]
> Sent: Tuesday, March 27, 2001 2:27 AM
> To: pgsql-sql(at)postgresql(dot)org; wade
> Subject: Re: pl/pgsql and returning rows
>
> From: "wade" <wade(at)wavefire(dot)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(at)postgresql(dot)org
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2001-03-27 21:51:36 | Re: RE: pl/pgsql and returning rows |
Previous Message | Forest Wilkinson | 2001-03-27 21:10:16 | possible row locking bug in 7.0.3 & 7.1 |