下面存储过程演示了如何在SQL中进行分页,此存储过程假设从Market表中检索数据。
Create proc [dbo].[pageData]
@curPage int, --当前页索引
@pageSize int --页大小
as
begin
declare @before int,@sql varchar(8000)
set @before=(@curpage-1)*@pageSize
set @sql='select top '+cast(@pageSize as varchar(10))+' * from Market where ID not in (Select top '+cast(@before as varchar(10))+' ID from Market order by ID)'
exec (@sql)
end
从存储过程的实现来看,效率较低。
新闻热点
疑难解答