I'm trying to use a cursor returned by a function from another function. But I can't seem to get it working correctly. The error message is: ERROR: cursor FOR loop must use a bound cursor variable I am not sure how to bind it;
my code is similar to this:
create or replace function store_normalize(groupid_in varchar(20)) RETURNS int AS $$ DECLARE outputcursor refcursor; normrow_r record; BEGIN perform normalize('outputcursor', groupid_in); for normrow_r in outputcursor loop insert into factordata(factorid, stockid, value, date) values (normrow_r.factorid, normrow_r.stockid, normrow_r.value, normrow_r.date); end loop; close ouputcursor; END LOOP; return 1; END; $$ LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION normalize(outputcursor refcursor, groupid_in varchar(20) ) RETURNS refcursor AS $$ BEGIN
OPEN outputcursor FOR select * from factordata where groupid = groupid_in;