Código SQL:
Ver original
CREATE OR REPLACE FUNCTION funciontotal() RETURNS INTEGER AS $BODY$ DECLARE contador INTEGER :=1; cantidad INTEGER; Fechamin DATE; Fechamax DATE; lamoda CHARACTER VARYING; BEGIN cantidad := COUNT(DISTINCT(auxiliar.partida)) FROM auxiliar; WHILE contador <= cantidad LOOP lamoda:= DISTINCT(auxiliar.partida) FROM auxiliar LIMIT 1 offset contador; Fechamin := MIN(auxiliar.fecha) FROM auxiliar WHERE auxiliar.partida = lamoda; Fechamax := MAX(auxiliar.fecha) FROM auxiliar WHERE auxiliar.partida = lamoda; DELETE FROM la_tabla WHERE (la_tabla.fecha BETWEEN Fechamin AND Fechamax) AND (la_tabla.partida = lamoda); contador :=contador+1; END LOOP; RETURN 1; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE COST 100; ALTER FUNCTION funciontotal() OWNER TO postgres;
el problema es que no hace nada dentro del while solo sumar. contador +1.
y cantidad devuelve un numero => 1 siempre.
me podrian decir cual es el error.
de antemano muchas gracias .