我有一个返回联系人列表的存储过程。由于有很多联系人,并且出于性能原因,我希望以分页方式检索联系人,每个实例中仅获取 20 个联系人。
我的表单上的一个按钮可以让我转到下一页,一旦单击该按钮,我就会去获取接下来的 20 个联系人。
这是我的存储过程;
CREATE PROCEDURE [dbo].[GetAllContacts] (@searchVal VARCHAR(500))
AS
BEGIN
SELECT DISTINCT ( Id ) AS Id,
FirstName,
LastName,
Address,
Tel_no
FROM tblContact
WHERE ( FirstName LIKE ( '%' + @searchVal + '%' )
OR LastName LIKE ( '%' + @searchVal + '%' ) )
ORDER BY LastName
END
如何拆分查询以及如何检索第二页的下 20 个联系人和第三页的第三 20 个联系人?
我正在使用 MS SQL Server 2012。