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@xxxxxxxxxx>: > 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@xxxxxxxxxxxxxx) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general > -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general