Getrows - Paginação em Oracle
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 |
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
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...
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.
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.
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)