Ver Mensaje Individual
  #20  
Antiguo 17-07-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile Final feliz pa' todos

¡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 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.
Responder Con Cita