預存程序 分頁

來源:互聯網
上載者:User
CREATE PROCEDURE page_pro
@pagesize int,
@currentpage int
AS
declare @count int
declare @pagecount int
declare @first_ int
declare @list_ int 
declare @first int
declare @end int
declare @pagenum int
declare @mod int
set nocount on
 select @count=count(*) from 參數分類結構
   select @mod = @count%@pagesize
   if @mod=0
   begin
   select @pagenum = @count / @pagesize
   if @currentpage>@pagenum
   begin
   select @currentpage=@pagenum
   end
   if @currentpage<1
   begin
   select @currentpage=1
   end
   select @first = (@currentpage-1)*@pagesize+1
  if @currentpage=@pagenum
       begin
       select @end = @count 
       end
       else
       begin
        select @end = @first+@pagesize-1
       end
   end
   else
   begin
   select @pagenum=@count/@pagesize+1
    if @currentpage>@pagenum
   begin
   select @currentpage=@pagenum
   end
   if @currentpage<1
   begin
   select @currentpage=1
   end
    select @first = (@currentpage-1)*@pagesize+1
   if @currentpage=@pagenum
       begin
       select @end = @count 
       end
       else
       begin
        select @end = @first+@pagesize-1
       end
  end
   set @pagecount = @pagenum
   --設定遊標--
   declare authors_cursor scroll CURSOR FOR select id from 參數分類結構 order by id
   open authors_cursor
   fetch absolute @first from authors_cursor into @first_
   fetch absolute @end from authors_cursor into @list_
   close authors_cursor
   deallocate authors_cursor
   if exists(select * from page_history where leixing = '參數分類結構')
   begin
   update page_history set rowscount =@count,pagecount=@pagenum,fist_=@first,end_=@end,current_=@currentpage where leixing = '參數分類結構' 
   end
   else
   begin
   insert into page_history (rowscount,pagecount,fist_,end_,current_,leixing) values(@count,@pagenum,@first,@end,@currentpage,'參數分類結構')
   end
   set nocount off
 select * from 參數分類結構 where id>=@first_ and id<=@list_
   return(@@rowcount) GO

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.