翻页的存储过程
--机构计量标准的存储过程
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

浙公网安备 33010602011771号