SQL笔记__分页存储过程

来源:互联网 发布:ubuntu mediawiki 编辑:程序博客网 时间:2024/06/06 06:36
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go


--分页存储过程 By TB_TIR_InitialTobacco_Pattrern_NIC
--
Table变量写法
--
Powered By:CHENQP
--
参数说明:@pagesize    每页要取的记录数
--
         @pageindex   第几页
--
         @docount     标志 true 则取记录数,false 则返回记录集 
--
调用说明:例如:第一页取8条记录集
--
EXECUTE usp_TBTIRInitialTobaccoPattrernNIC_ByPager 1,8,false
ALTER procedure [dbo].[usp_TBTIRInitialTobaccoPattrernNIC_ByPager]
(
@pagesize int,
@pageindex int,
@docount bit)
as
set nocount on
if(@docount=1)
   
select count(I_SortID) from TB_TIR_InitialTobacco_Pattrern_NIC
else
    
begin
      
declare @indextable table(id int identity(1,1),nid int)
      
declare @PageLowerBound int
      
declare @PageUpperBound int
      
set @PageLowerBound = (@pageindex-1* @pagesize
      
set @PageUpperBound = @PageLowerBound + @pagesize
      
set rowcount @PageUpperBound
       
insert into @indextable(nid) 
       
select I_SortID from TB_TIR_InitialTobacco_Pattrern_NIC 
       
order by I_SortID desc

       
select O.* from TB_TIR_InitialTobacco_Pattrern_NIC O,@indextable t 
       
where O.I_SortID = t.nid
       
and t.id > @PageLowerBound and t.id <= @PageUpperBound order by t.id
    
end
set nocount off



 
原创粉丝点击