0

Getrows - Paginação em Oracle

criado por Ernani Joppert Pontes Martins em 23/03/2002 1:06am
Simples script comentado e explicado que mostra como conseguir paginar resultados de um Banco de Dados como o Oracle usando arrays multidimensionais.
Data Autor Changelog Download
11/05/2001 12:39am Ernani Joppert Pontes Martins - Versão 1.0

Comentários:

Mostrando 1 - 5 de 5 comentários
Alguém aqui conseguiu exibir os dados em forma de tabela? Para facilitar a visualização dos resultados pelo usuário.
26/04/2006 12:12pm (~18 anos atrás)

quanto ao post assima, finalmente consegui paginar deixando os registros em ordem original. eis o select:

SELECT *
FROM (SELECT * FROM tabela ORDER BY coluna)
WHERE ROWNUM <= 30 --exemplo de ultimo registro na paginacao
MINUS
SELECT * FROM (SELECT *
FROM (SELECT * FROM tabela ORDER BY coluna)
WHERE ROWNUM <= 30) --exemplo de ultimo registro na paginacao
WHERE ROWNUM <= 20 --exemplo de primeiro registro na paginacao
ORDER BY coluna

onde os dados serao mostrados do 20º ao 30º registro (sendo que todos os dados da tabela estarao organizados)

[]´s
09/10/2004 12:38am (~19 anos atrás)

testei, e realmente os registros estão sendo paginados com os selects mostrados nos posts assima, mas quando é inserido um ORDER BY em qualquer um dos selects, o resultado é organizado apenas pelos registros que foram retornados na paginação. Como continuar paginando o resultado, mas organizar os mesmos através de todos os registros da tabela (e não apenos pelos que foram paginados)?

Obrigado...
08/10/2004 3:43pm (~19 anos atrás)

Apenas para acrescentar:

select * from (
select a.*, rownum limit from (
select * from FA6001
) a
)
where limit between 101 and 200 ;

Onde:
* Select * from FA6001 é o SQL desejado
* 101 and 200 é a faixa de registros que será filtrada, ou seja, do 101º ao 200º registro.
30/08/2004 4:46pm (~19 anos atrás)

Apenas para acrescentar:

select * from (
select a.*, rownum limit from (
select * from FA6001
) a
)
where limit between 101 and 200 ;

Onde:
* Select * from FA6001 é o SQL desejado
* 101 and 200 é a faixa de registros que será filtrada, ou seja, do 101º ao 200º registro.
30/08/2004 4:46pm (~19 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)