zoukankan      html  css  js  c++  java
  • 一个高效的数据分页的存储过程 可以轻松应付百万数据

    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 descas bb order by ProductId
     
    end

  • 相关阅读:
    浅谈协方差矩阵
    Android开发之Http通信HttpClient接口
    Android开发之XML文件的解析的三种方法
    Android开发之Http通信HttpURLConnection接口
    [Android] SurfaceView使用实例
    Android开发之初识Camera图像采集
    Android开发之SurfaceView
    基于android的远程视频监控系统
    Android编程9:蓝牙测试
    Android--PendingIntent 实现发送通知notification
  • 原文地址:https://www.cnblogs.com/zzh/p/314035.html
Copyright © 2011-2022 走看看