In the below function I am passing in my table name as text 'K' and wish to use it for cursor declaration inside my function.I am using postgres 8.2 (greenplum)
I used quote_ident(k)
, dint work either. Could some one help me out. THanks!
CREATE OR REPLACE FUNCTION vin_temp(K text) RETURNS text AS
$BODY$
DECLARE
r vin_res%rowtype;
r1 numeric default 0;
rfr numeric default 0;
rdu numeric default 0;
rav numeric default 0;
rfr1 numeric default 0;
rdu1 numeric default 0;
rav1 numeric default 0;
r2 numeric default 0;
i integer default 0;
x text default '';
curs2 CURSOR FOR SELECT * FROM k order by week_end asc;
BEGIN
open curs2;
LOOP
FETCH curs2 INTO r;
exit when not found;
if (i=1) then
r1:=r.v1;
rav:=r.v2;
rfr:=r.v3;
else
some logic here
end if;
END LOOP;
RETURN 'yes';
END
$BODY$
LANGUAGE 'plpgsql' ;
i tried the following code as well :
curs2 CURSOR FOR EXECUTE 'SELECT * from '||quote_ident(k)||' order by week_end asc';