Re: pl/pgsql and returning rows
От | Richard Huxton |
---|---|
Тема | Re: pl/pgsql and returning rows |
Дата | |
Msg-id | 00b701c0b697$ab527a40$1001a8c0@archonet.com обсуждение исходный текст |
Ответ на | pl/pgsql and returning rows (wade <wade@wavefire.com>) |
Список | pgsql-sql |
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
В списке pgsql-sql по дате отправления: