Paginación en sql server 2000

30/06/2009 - 14:27 por Alhambra Eidos Development | Informe spam
Hola a todos,

tengo un procedimiento almacenado con una query de tipo "select distinct
..." . Devuelve muchos datos, y por eso quería utilizar paginación de
resultados. Utilizo sql server 2000.

Cómo puedo hacerlo en sql server 2000 de una manera efectiva y que no
penalice mucho rendimiento?

Gracias y saludos.
 

Leer las respuestas

#1 Jorge Guillen
30/06/2009 - 16:16 | Informe spam
Hola

Aca te paso un código, espero te sirva:


use MiBase

declare @PageSize int
declare @PageNumber int

set @PageSize = 20 -- se muestra de 20 en 20
set @PageNumber = 1 1 pagina inicial, 2 sgte pagina, etc..

declare @PageN int
IF @pageNumber <= 1 SET @PageN = 1
IF @pageNumber > 1 SET @PageN = @pageNumber-1

declare @tampag int
set @tampag=@pageSize*@PageN

declare @ultimo int
SET ROWCOUNT @tampag
SELECT @ultimo=Campo1 FROM Tabla ORDER BY 1

if @pageNumber=1
begin
SET ROWCOUNT @pageSize
SELECT Campo1,Campo2
FROM Tabla
ORDER BY 1
end
else
begin
SET ROWCOUNT @pageSize
SELECT Campo1,Campo2
FROM Tabla
WHERE Campo1 > @ultimo
ORDER BY 1
end

SET ROWCOUNT 0


Saludos
JORGE G.


"Alhambra Eidos Development"
escribió en el mensaje
news:
Hola a todos,

tengo un procedimiento almacenado con una query de tipo "select distinct
..." . Devuelve muchos datos, y por eso quería utilizar paginación de
resultados. Utilizo sql server 2000.

Cómo puedo hacerlo en sql server 2000 de una manera efectiva y que no
penalice mucho rendimiento?

Gracias y saludos.

Preguntas similares