Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/06/2011, 12:25
ellanos
 
Fecha de Ingreso: junio-2011
Mensajes: 5
Antigüedad: 12 años, 11 meses
Puntos: 0
Problema con funcion PostgreSQL

Hola. tengo un problema para la correcta ejecucion de esta consulta.

Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION funciontotal()
  2.   RETURNS INTEGER AS
  3. $BODY$
  4. DECLARE
  5. contador INTEGER :=1;
  6. cantidad INTEGER;
  7. Fechamin DATE;
  8. Fechamax DATE;
  9. lamoda CHARACTER VARYING;
  10.     BEGIN
  11.         cantidad := COUNT(DISTINCT(auxiliar.partida)) FROM auxiliar;
  12.        
  13.         WHILE contador <= cantidad LOOP
  14.             lamoda:= DISTINCT(auxiliar.partida) FROM auxiliar LIMIT 1 offset contador;
  15.             Fechamin := MIN(auxiliar.fecha) FROM auxiliar WHERE auxiliar.partida = lamoda;
  16.             Fechamax := MAX(auxiliar.fecha) FROM auxiliar WHERE auxiliar.partida = lamoda;
  17.             DELETE FROM la_tabla WHERE (la_tabla.fecha BETWEEN Fechamin AND Fechamax) AND (la_tabla.partida  = lamoda);
  18.             contador :=contador+1;
  19.         END LOOP;
  20.        
  21.         RETURN 1;
  22.     END;
  23. $BODY$
  24.   LANGUAGE 'plpgsql' VOLATILE
  25.   COST 100;
  26. 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 .