Hola a todos!
Tenemos problemas con la siguiente función que usa un cursor, y es que toma
los parámetros como constantes y no nombres de campos, podrían ayudarnos?:
CREATE OR REPLACE FUNCTION myfunc(character varying, character varying)
RETURNS void AS
$BODY$
DECLARE
atselec VARCHAR;
atobj VARCHAR;
frec integer;
DECLARE cursorg CURSOR FOR select $1,$2, count(*) from dms_cm group by 1,2;
BEGIN
UPDATE dms_cm SET c_aux = null;
OPEN cursorg;
loop
FETCH cursorg INTO atselec,atobj,frec;
EXIT WHEN NOT FOUND;
RAISE NOTICE '%',frec;
UPDATE dms_cm SET c_aux = frec WHERE sexo = atselec and est_padres =
atobj;
end loop;
CLOSE cursorg;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION myfunc(character varying, character varying) OWNER TO
postgres;
ANA - UNNOBA