Re: Returning Rows in Procedure
От | Pavel Stehule |
---|---|
Тема | Re: Returning Rows in Procedure |
Дата | |
Msg-id | BANLkTimM_vdS1Z8qR82uEBT=EUxPEYu1ew@mail.gmail.com обсуждение исходный текст |
Ответ на | Returning Rows in Procedure (Adarsh Sharma <adarsh.sharma@orkash.com>) |
Ответы |
Re: Returning Rows in Procedure
|
Список | pgsql-general |
Hello you have to use a dynamic sql look on statement FOR r IN EXECUTE or RETURN QUERY EXECUTE Regards Pavel Stehule 2011/5/24 Adarsh Sharma <adarsh.sharma@orkash.com>: > Dear all, > > I need to return the rows of a table which was also created in that > procedure. > > I know it is very easy when the table is existed before and we can specify > like this to return > > create function a(integer) returns setof exist_table as $$ > > But it gives error when the table is also created in the procedure like > below : > > create function a(integer) returns setof record as $$ > declare > a text; > begin > execute 'insert into a values('asdd'); > execute 'insert into a values('affffsdd'); > execute 'insert into a values('affsdd'); > execute 'insert into a values('ashjgdd'); > execute 'insert into a values('asfjfgddd'); > > ---Now i want to return the rows of a > DECLARE > r a%ROWTYPE; > BEGIN > FOR r in SELECT * FROM a > LOOP > RETURN NEXT r; > END LOOP; > RETURN; > END; > END; > $$ LANGUAGE 'plpgsql' ; > > ERROR: relation "user_news_tmp2" does not exist > CONTEXT: compilation of PL/pgSQL function "create_user_report2" near line > 22 > > How to achieve this ? > > Thanks & best Regards, > Adarsh > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general >
В списке pgsql-general по дате отправления: