Hola José, coincido con Lautaro evalúa el uso de la función ventana LAG o LEAD, en dependencia del criterio de ordenamiento que requieras y tal vez ni necesites un hacer un procedimiento para eso, solo con la consulta podrás obtenerlo.

Saludos

El 31-05-19 a las 11:36, Lautaro Palamidessi escribió:
Buen dia, usa la funcionalidad LAG de las window functions: https://www.postgresql.org/docs/current/functions-window.html

Saludos

El vie., 31 may. 2019 a las 12:22, José Vicente Zahonero García (<joviz...@hotmail.com <mailto:joviz...@hotmail.com>>) escribió:

    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



--

logo conexia <http://conexia.com/>

        

*Lautaro Palamidessi*
Consultor Técnico DBA
*T:* +5411 5173 6159

facebook conexia <https://goo.gl/OxO8kd> twitter conexia <https://goo.gl/XGpgl3> linkedin conexia <https://goo.gl/epcLtV> www.conexia.com <http://conexia.com/>

line

        

        

Reply via email to