翻页的存储过程

--机构计量标准的存储过程
CREATE procedure F_Meter_BZQ
(
@PageSize int--每页的记录数
@PageIndex int,  --当前页码
@StrWhere varchar(1000), --查询条件
@User varchar(100)
)
 
AS
set nocount on
begin
create table #aa
(
id 
int identity(1,1),
nid 
varchar(50)
)
declare @PageLowerBound int --定义下限
declare @PageUpperBound int --定义上限
set @PageLowerBound=(@PageIndex-1)*@PageSize+1
set @PageUpperBound=@PageLowerBound+@PageSize
set rowcount @PageUpperBound
declare @SqlStr varchar(1000)
set @SqlStr='insert into #aa(nid) select hid from Find_Meter_BZQ where '+@StrWhere+' order by '+@User
exec (@SqlStr)
set @SqlStr='select * from Find_Meter_BZQ a where a.hid in (select nid from #aa b where a.hid=b.nid and b.id between '+cast(@PageLowerBound as varchar(10))+' and '+cast(@PageUpperBound as varchar(10))+' )  order by '+@User
exec (@SqlStr)
end 
set nocount off
GO
posted @ 2008-05-30 17:21  你约我交友网  阅读(179)  评论(0)    收藏  举报