Tuesday, November 30, 2010

sql pagination

Sample :

DECLARE @pageSize INT
DECLARE @pageNumber INT
--Set PageSIze
SET @pageSize=10

--Set PageNo
SET @pageNumber=1 --Dynamiclly change Your Page No


DECLARE @Employee TABLE (empid INT,EmpName NVARCHAR(50),Details NVARCHAR(50))

--For just Adding Data
insert into @Employee
SELECT 1,'Manikandan','SSE'
UNION ALL
SELECT 1,'Manikandan','SSE'
UNION ALL
SELECT 1,'Manikandan','SSE'
UNION ALL
SELECT 2,'Manikandan','SSE'
UNION ALL
SELECT 3,'Manikandan','SSE'
UNION ALL
SELECT 4,'Manikandan','SSE'
UNION ALL
SELECT 5,'Manikandan','SSE'
UNION ALL
SELECT 6,'Manikandan','SSE'
UNION ALL
SELECT 7,'Manikandan','SSE'
UNION ALL
SELECT 8,'Manikandan','SSE'
UNION ALL
SELECT 9,'Manikandan','SSE'
UNION ALL
SELECT 10,'Manikandan','SSE'
UNION ALL
SELECT 11,'Manikandan','SSE'
UNION ALL
SELECT 12,'Manikandan','SSE'
UNION ALL
SELECT 13,'Manikandan','SSE'
UNION ALL
SELECT 14,'Manikandan','SSE'
UNION ALL
SELECT 15,'Manikandan','SSE'
UNION ALL
SELECT 16,'Manikandan','SSE'


--Paging Performance

SELECT * FROM(
SELECT Row_number() over (order by empid,EmpName) as RowNumber,EmpName,Details from @Employee emp
)Finalresult WHERE Rownumber BETWEEN (@pageSize * (@pageNumber - 1) + 1) AND (@pageSize * @pageNumber)

No comments: