广

ASP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    一个高效的数据分页的存储过程

    2018-05-04 21:20:48 次阅读 稿源:互联网
    零七广告

      CREATE PROCEDURE pageTest  --用于翻页的测试
      --需要把排序字段放在第一列

       (
        @FirstID nvarchar(20)=null,  --当前页面里的第一条记录的排序字段的值
        @LastID nvarchar(20)=null,  --当前页面里的最后一条记录的排序字段的值
        @isNext bit=null,    --true 1 :下一页;false 0:上一页
        @allCount int output,   --返回总记录数
        @pageSize int output,   --返回一页的记录数
        @CurPage int     --页号(第几页)0:第一页;-1最后一页。
        )

      AS

      if @CurPage=0
       begin
        --统计总记录数
        select @allCount=count(ProductId) from Product_test
        
        set @pageSize=10
        --返回第一页的数据
        select top 10
         ProductId,
         ProductName,
         Introduction  
         from Product_test order by ProductId
       end

      else if @CurPage=-1

       select * from
        (select top 10 ProductId,
         ProductName,
         Introduction

        from Product_test order by ProductId desc ) as aa 
        order by ProductId
      else

       begin
        if @isNext=1
         --翻到下一页
         select top 10 ProductId,
         ProductName,
         Introduction
        from Product_test where ProductId > @LastID order by ProductId
        
        
        else
         --翻到上一页
         select * from
          (select top 10 ProductId,
         ProductName,
         Introduction
        from Product_test where ProductId < @FirstID  order by ProductId desc) as bb order by ProductId
       end
       

      百万数据翻页就像100条数据一样!

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告