Hola. tengo un problema para la correcta ejecucion de esta consulta.
Código SQL:
Ver originalCREATE 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 .