Re: Writing SQL functions in Postgres
От | dev@archonet.com |
---|---|
Тема | Re: Writing SQL functions in Postgres |
Дата | |
Msg-id | 20010308185546.120762A478@mainbox.archonet.com обсуждение исходный текст |
Ответ на | Writing SQL functions in Postgres (Boulat Khakimov <boulat@inet-interactif.com>) |
Список | pgsql-sql |
Boulat Khakimov <boulat@inet-interactif.com> said: > I want to write an SQL function in postgres that returns > row as a result. > > The problem is the select statement inside the funtion has > a two table join. So I dont know what to put after SETOF > > CREATE FUNCTION dummy() > RETURNS SETOF ????? > AS 'select a.name,b.cc > from tblusers a, > tbldocs b > where a.name=b.name' > LANGUAGE 'SQL'; > > > SETOF tblusers -- doesnt work > ERROR: function declared to return type tblusers does not retrieve > (tblusers.*) > > neither does SETOF tbldocs > > SETOF tblusers,tbldocs wont work either. There's good news and bad news. The good news is that if you define a view "tblboth" that selects from your two tables you can then do "returns setof tblboth". The bad news is that your function won't return a set of records - you'll get a list of OIDs (at least I think they're OIDs).Check the mailing archives for more on this. You can do your example with a simple view, but if you want a parameterised view you'll have to wait until 7.2 (I think it'son the todo list) - Richard Huxton
В списке pgsql-sql по дате отправления: