Ver Mensaje Individual
  #6 (permalink)  
Antiguo 02/05/2008, 13:21
matihas
 
Fecha de Ingreso: mayo-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
Re: Paginacion PHP-ORACLE

Buenas,
La forma correcta de establecer limites para obtener un cierto rango de datos empleando Oracle 9, 10 es la siguiente:

select *
from ( select a.*, ROWNUM rnum
from ( QUERY_A_EJECUTAR ) a
where ROWNUM <= LIMITE_FINAL )
where rnum > LIMITE_INICIAL;

Donde,
QUERY_A_EJECUTAR es la query que desean ejecutar.
LIMITE_INICIAL es a partir de que valor se desean traer datos
LIMITE_FINAL es la cantidad de datos a traer desde el limite inicial.

Un ejemplo:

Deseo traer la segunda tanda de registros, mostrando 10 registros por pagina de la tabla clientes.

select *
from ( select a.*, ROWNUM rnum
from ( select * from clientes ) a
where ROWNUM <= 20)
where rnum > 10;

Dicha consulta trae los registros desde el 11 al 20 inclusive.

Si se desea dar un orden a los datos se debe agregar el ORDER BY al final del query a ejecutar.

Espero les sirva.

Para mas información al respecto consulten: http://www.oracle.com/technology/oramag/oracle/06-sep/o56asktom.html

Saludos a todos
Matias Ballester