Me Ajudem com o Rownum

Oracle

18/01/2008

Estou fazendo um esquema aqui no meu serviço e preciso pegas as linhas separadamente pra naum sobrecarrecar o meu PC, então utilizarei varias queries, e a primeira ideia q me ocorreu foi usar o rownum entaum lah fui eu testar e nas primeiras 40000 linhas ocorreu tudo certo ( a tabela contem mais de 500000 linhas (tuplas)), então fui delimitar agora para pegar da 40001 ate a 80000

select *
from tabela
where rownum > 40001 and rownum <= 80000


e 0 registros retornados, outras combinações tbm falharam.
vasculhando na net encontri exemplos utilizando subqueries, teste da segunte forma

select *
from ( select *
          from tabela
         where rownum > 40000)
where rownum <= 80000


tbm não retornou valor algum.

alguem ai tem alguma dica pra me dar?


Fellix

Fellix

Curtidas 0

Respostas

Flyskin

Flyskin

18/01/2008

utilize a função row_number() do oracle para te retornar o número da linha, apartir daí você o que precisa.
Ex.:
SELECT
B.*
FROM
(SELECT
ROW_NUMBER() OVER(ORDER BY A.CODIGO) AS NUM_REG,
A.*
FROM
TABELA A
)
WHERE
B.NUM_REG BETWEEN 40001 AND 80000


GOSTEI 0
POSTAR