Re: Returning Rows in Procedure
От | Adarsh Sharma |
---|---|
Тема | Re: Returning Rows in Procedure |
Дата | |
Msg-id | 4DDB696D.4050707@orkash.com обсуждение исходный текст |
Ответ на | Re: Returning Rows in Procedure (Pavel Stehule <pavel.stehule@gmail.com>) |
Ответы |
Re: Returning Rows in Procedure
|
Список | pgsql-general |
Pavel Stehule wrote: > Hello > > you have to use a dynamic sql > > look on statement > > FOR r IN EXECUTE > or RETURN QUERY EXECUTE > Can u explain in the example, I find it difficult to understand . I think we have to specify return type while creating procedures. Thanks > 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 по дате отправления: