¡Hola a todos!
Cita:
Empezado por RolphyReyes
...podrias si te es posible subir los select's de pruebas que utilizaste?...
|
No sé si sirvan de mucho, y menos después de la tremenda solución dada por
Ariefez, pero son los siguientes.
Select que detiene definitivamente el
For Select del procedimiento
spParte tras obtener las primeras 10
filas construidas por el procedimiento:
Código SQL
[-]
-- Versión rápida
Select First 10 * From spParte (Null, Null, Null, Null, Null, Null)
Select que, por tener
Order By, espera a que se realice todo el
For Select del procedimiento
spParte, para luego devolver solo 10 de las
filas que construyó el procedimiento:
Código SQL
[-]
-- Versión lenta
Select First 10 * From spParte (Null, Null, Null, Null, Null, Null) Order By Numero
Cita:
Empezado por egostar
...usar el FIRST, solo lo considero para obtener estadísticas, no para recuperar filas de las tablas, mi caso es por ejemplo, quiero saber los N números más marcados mas no las primeras N filas, eso no me hace sentido...
|
¡Hey, hey, hey! Este no es mi vaso de Batman.
Eliseo: En tu procedimiento
sí usas
First para obtener las primeras
n filas. Sí, las primeras
n filas que construye
en el aire el propio
For Select del procedimiento con ayuda de
Suspend. No dije que fueran las filas (registros) de una tabla.
Cita:
Empezado por ariefez
...Tu sentencia esta bien solo le falta unos parentesis
Código SQL [-] SELECT FIRST (:PAGE_NF)...
Agrego: probado en firebird 2.0 y 2.1 beta
|
Cita:
Empezado por jhonny
Vaya, Vaya, Vaya¡¡¡
|
Otros tres
vayaes . Me sorprendió de la misma forma y lo mejor de todo es que ¡también funciona en Firebird 1.5!
Gracias por el
tip Ariefez, creo que has dado con la mejor solución para los casos planteados. Y además he aprendido aquello del
Order By en llamadas a procedimientos.
Un primer abrazo.
Al González.