Hello 2010/4/7 Marc Menem <marc.menem@xxxxxxx>: > Hi all, > > 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; you can't do it now. So use different cycle statement - WHILE a FETCH statement regards Pavel Stehule > > 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; > > RETURN outputcursor; > END; > $$ LANGUAGE plpgsql; > > cheers. > Marc > -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general