Hola de nuevo, tengo un procedimiento en Firebird que recorre una tabla 
comparando un registro con el inmediatamente posterior y que devuelve la mayor 
diferencia entre dos registros consecutivos. No sé como implementarlo  en 
PostgreSQL. ¿Puede alguien echarme una mano?. Gracias.


CREATE OR ALTER PROCEDURE DIAS_SIN RETURNS (
        "RESULT" INTEGER
)
AS
DECLARE VARIABLE AUX INTEGER;
BEGIN
  AUX    = 0;
  RESULT = 0;
  FOR
    SELECT max(DATEDIFF(DAY FROM DT2.FECHA TO DT1.FECHA))
  FROM DATOS DT1, DATOS DT2
  WHERE DT1.SALIDA_NUM = DT2.SALIDA_NUM + 1 
    INTO :AUX
  DO
    IF(AUX > RESULT) THEN RESULT = AUX;
  SUSPEND;
END

Reply via email to