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

Responder a