Me Ajudem com o Rownum
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
e 0 registros retornados, outras combinações tbm falharam.
vasculhando na net encontri exemplos utilizando subqueries, teste da segunte forma
tbm não retornou valor algum.
alguem ai tem alguma dica pra me dar?
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
Curtidas 0
Respostas
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
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