|
Execute the following SQL Server Transact-SQL script in SSMS Query Editor to create pagination for the Person.Contact table info by applying the ROW_NUMBER() function.
-- SQL Server stored procedure - SQL pagination - SQL row_number function
CREATE PROCEDURE uspContactInfoByPage
@PageSize INT,
@PageNumber INT
AS
BEGIN
WITH cteContact
AS (SELECT ContactID,
FirstName,
MiddleName,
LastName,
EmailAddress,
Phone,
ROW_NUMBER()
OVER(ORDER BY LastName, FirstName, ContactID) AS SEQUENCE
FROM Person.Contact)
SELECT Name = replace(FirstName + ' ' + isnull(MiddleName,'') + ' ' + LastName,
' ',' '),
[Email Address] = EmailAddress,
Telephone = Phone
FROM cteContact
WHERE SEQUENCE BETWEEN @PageSize * @PageNumber + 1
AND @PageSize * (@PageNumber + 1)
END
GO
EXEC dbo.uspContactInfoByPage
50 ,
100
GO
/* Partial results
Name Email Address Telephone
Kate Becker kate17@adventure-works.com 1 (11) 500 555-0141
Kate Becker kate17@adventure-works.com 1 (11) 500 555-0141
Kate Becker Akate17@adventure-works.com NULL
Kate Becker Akate17@adventure-works.com NULL
Kathryn Becker kathryn18@adventure-works.com 1 (11) 500 555-0110
*/ |