Paginación En Sql Server

Páginas: 2 (483 palabras) Publicado: 8 de julio de 2012
FORMAS DE PAGINACIÓN EN SQL SERVER 2008

Paginación de datos en SQL Server 2012
By Maxi Accotto17. febrero 2012 07:27
 
La paginación de datos desde el propio motor es una técnica que se utilizaen algunos procesos para poder llevar a la aplicación una cantidad reducida de registros y de ser necesarios mas saltar a una pagina posterior.
Para poder lograr esto han existido durante muchosaños distintas técnicas de programación a nivel TSQL.
Ahora en SQL 2012 se ha incorporado la paginación de forma nativa la cual es parte del ANSI SQL 2000.
Para ello se utiliza dentro del Order By elseteo de OFFSET, FETCH { FIRST | NEXT } { integer_constant | fetch_row_count_expression } { ROW | ROWS } ONLY.
El siguiente link tiene información detallada de como se utiliza.
El siguiente códigotraerá los primeros 10 registros de un set de datos.

SELECT DepartmentID, Name, GroupName
FROM HumanResources.Department
ORDER BY DepartmentID
OFFSET 0 ROWS
FETCH NEXT 10 ROWS ONLY;
Bienahora veremos un ejemplo de como se aplica la paginación antes de SQL 2012 y con esta nueva versión.
Para usar paginación antes de SQL 2012 una de las técnicas mas utilizadas es el uso delas CTE y Row_Number()
DECLARE @pagesize AS INT, @pagenum AS INT;
SET @pagesize = 5;
SET @pagenum = 1;

WITH SalesRN AS
(
SELECT ROW_NUMBER() OVER(ORDER BY Name) AS rownum,
ProductNumber,ProductID,Name
FROM[Production].[Product]
)
SELECT rownum, ProductNumber, ProductID,Name
FROM SalesRN
WHERE rownum > @pagesize * (@pagenum-1)
AND rownum <= @pagesize * @pagenum
ORDER BYrownum;
go

Ahora bien, si queremos hacer la misma query con SQL 2012, podríamos escribir lo siguiente

DECLARE @PageSize TINYINT = 5,
@CurrentPage INT = 1;SELECT ProductNumber, ProductID,Name
FROM[Production].[Product]
ORDER BY Name
OFFSET (@PageSize * (@CurrentPage - 1))
ROWS
FETCH NEXT @PageSize ROWS ONLY;
Como se puede observar...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • sql server
  • Sql server
  • Sql server
  • SQL Server
  • Sql Server
  • Sql server
  • SQL SERVER
  • SQL SERVER

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS