I have a related problem and tried the PERFORM...EXECUTE pattern suggested
but no matter where I put PERFORM I get 'function not found' errors.
I want to loop through id values returned by a query and execute another
with each i as a parameter. Each subquery will return 6-8 rows. This is a
simplified example, in the real app the subquery is doing some aggregation
work.
Tried many many things including this pattern below and read everything I
could find, but no go. Any help appreciated.
++++++++++++++++
create or replace function getRowsA() returns setof record as $$
declarer record;loopy record;i integer;sql text;
beginfor r in select * from cities loop i := r.id; sql := 'select city,topic,weight from v_doctopic where city = ' ||
i;EXECUTE sql; return next loopy;end loop;return;
end;
$$ language 'plpgsql';
select * from getRowsA() AS foo(city int, topic int, weight numeric)
-----
karlg
--
View this message in context:
http://postgresql.1045698.n5.nabble.com/returning-values-from-dynamic-SQL-to-a-variable-tp5723322p5740324.html
Sent from the PostgreSQL - sql mailing list archive at Nabble.com.