【发布时间】:2013-09-30 13:20:36
【问题描述】:
我有一个返回联系人列表的存储过程。由于有很多联系人,并且出于性能原因,我希望以分页方式检索联系人,每个实例中仅获取 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
如何拆分查询以及如何检索第 2 页的下 20 个联系人和第 3 页的第 3 个 20 个联系人?
我使用的是 MS SQL Server 2012。
【问题讨论】:
标签: sql sql-server performance stored-procedures sql-server-2012