Migrar consulta de Firebird a Oracle

Iniciado por parlan, 4 Noviembre 2010, 10:52 AM

0 Miembros y 1 Visitante están viendo este tema.

parlan

Hola chicos, a ver tengo un problema.

Tengo q migrar una consulta de firebird a oracle y tengo:
select first 10 skip 0 * from mi_tabla; --> en firebird --> para aclarar a quien no sepa firebird, First dice cuantos registros queremos devolver y Skip indica desde donde queremos comenzar
Es decir, esta consulta saca los primeros 10 registros, esta otra (select first 10 skip 10 * from mi_tabla; ) saca los 10 segundos, es decir, del 11 al 20....

Soy capaz de migrar a select * from mi tabla where rownum < 11; pero no se como hacerlo "dinamico" para dependiendo de cada consulta sea a partir de un numero u otro, pq si lo dejo asi, con el rownum solo saca los primeros 10 siempre.

Alguna idea?

Gracias

MazarD

En oracle puede parecer un poco más complejo pero es igual de eficiente, sería así:

Código (sql) [Seleccionar]
SELECT *
FROM (SELECT tabla.*, rownum rnum
FROM (
select * from mi_tabla
) tabla
WHERE rownum <= 20)
WHERE rnum >= 10



Te sacaría del registro 10 al 20, la verdad es que es un poco triste que no tenga una sintaxis más limpia para algo tan común, pero es lo que hay.

Saludos!
-Learn as if you were to live forever, live as if you were to die tomorrow-

http://www.mazard.info
http://twitter.com/MazarD
irc://irc.freenode.org/elhacker.net