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