SQL SERVER 2008 agora com Paginação no Banco

agosto 5th, 2009 por Gerson.Novais Leave a reply »

Salve Salve Pessoal…

Hoje um amigo de trabalho me deu uma noticia interessante. O SQL SERVER 2008 está com Paginação no próprio banco de dados, ou seja, você só precisará enviar um select e ele cuida da paginação para você.

Um select semelhante a este:

SELECT * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY dc_bairro ASC) AS Row ,* FROM PI_ODS_SICAT_CDABA ) AS PI_ODS_SICAT_CDABA WHERE Row between 1 AND 100

Só será necessário incrementar o número de linhas por pagina que se deseja obter…

Beleza, é isso, apenas para deixar registrado aqui a informação.

Abraços.

Advertisement

2 comments

  1. klauss disse:

    Mas isso aí você faz basicamente usando o LIMIT.

    Exemplo: SELECT * FROM `produtos` LIMIT 0, 100;

    Onde o 0 seria o registro inicial gerado pela query e 100 seria a quantidade de registros que seriam retornados..

    Exemplo de paginação

    SELECT * FROM `produtos` LIMIT 0, 10; // Pega os 10 primeiros registros
    SELECT * FROM `produtos` LIMIT 10, 10; // Pega os 10 próximos registros: 11 até o 20
    SELECT * FROM `produtos` LIMIT 20, 10; // Pega os 10 próximos registros: 21 até o 30

    Você pode fazer algo do tipo:
    SELECT * FROM `produtos` LIMIT ({$QT} *{$PAGE}), {$QT};

    onde $QT é a quantidade de itens por página e $PAGE é o número da página começando a partir do zero, ex: 1ª página seria 0, 2ª página seria 1, etc..

    Mas de qualquer forma, já é um avanço…

  2. Douglas Lira disse:

    O Topico é SQL! e não MySQL…

Deixe uma resposta