天天看点

很强的分页存储过程,速度超快!

CREATE procedure  dbo.pager

(

--取得当前页数

@pagenum int,

--取得每页记录数

@rowcount int,

--返回记录总数

@count int output

)

 AS

--定义起始记录ID

declare @start int

--定义结束记录ID

declare @end int

--设置起始记录ID,与当前页数和每页记录数相关。

set @[email protected]*@rowcount

--设置结束记录ID,与当前页数和每页记录数相关,起始记录ID减去每页记录数即为当前页的记录数。

set @[email protected]@rowcount

--设置选取记录数

set rowcount @start

--将选取的记录插入临时表

select *  into #t1  from  myTable

--设置删除的记录数

set rowcount @end

--不是第一页时删除表,第一页时不删除表中数据。

if @end>0

--删除临时表中不必要的数据

delete #t1

--不限制选取的记录数

set rowcount 0

--显示临时表中的数据

select * from #t1

--declare @count int

select @count=count(*)  from  myTable

GO

继续阅读