From: | Lautaro Palamidessi <lpalamidessi(at)conexia(dot)com> |
---|---|
To: | José Vicente Zahonero García <jovizaga(at)hotmail(dot)com> |
Cc: | "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Transformar un procedimiento Firebird a PostgreSQL |
Date: | 2019-05-31 15:36:13 |
Message-ID: | CANQT3zUhr1Unup0LoOodYLLJ51dGSXK8ebdHcjYWRA7xsnM2FA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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 (<
jovizaga(at)hotmail(dot)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
>
>
--
[image: logo conexia] <http://conexia.com/>
*Lautaro Palamidessi*
Consultor Técnico DBA
*T:* +5411 5173 6159
[image: facebook conexia] <https://goo.gl/OxO8kd> [image: twitter conexia]
<https://goo.gl/XGpgl3> [image: linkedin conexia] <https://goo.gl/epcLtV>
www.conexia.com <http://conexia.com/>
[image: line]
From | Date | Subject | |
---|---|---|---|
Next Message | Carlos T. Groero Carmona | 2019-05-31 15:51:57 | Re: Particionamiento de tablas postgresql 11 |
Previous Message | gilberto.castillo | 2019-05-31 15:29:05 | Re: [MASSMAIL]Transformar un procedimiento Firebird a PostgreSQL |