zoukankan      html  css  js  c++  java
  • sql2005分页查询(一)


    分页查询的原理:
    1.先将预分页内容的码按照排序条件加上自增列导入到临时表中(或表变量)
    2.针对临时表操作,找到相应的码列表
    3.根据码列表,重新找相应原分页内容
     
    需要注意的是:
    第一是添加自增列,确定行号
    第二缩减中间处理过程的操作数据量 
     

    CREATE PROC UP_tFunction_GetListByPage
    (
    @PageIndex INT,
    @PageSize INT
    )
    AS

     
    SELECT OID,
       vName,
       vLabel,
       vRemark
     
    FROM tFunction
     
    WHERE OID in ( 
         
    SELECT OID
         
    FROM 
          (
          
    SELECT ROW_NUMBER() OVER(ORDER BY OID DESCAS RowID, OID
          
    FROM tFunction
          ) 
    AS t
         
    WHERE RowID between (@PageIndex-1)*@PageSize and @PageIndex*@PageSize
        )
     
    ORDER BY OID DESC

    GO

    -- UP_tFunction_GetListByPage 2, 10


    CREATE PROC UP_tFunction_GetListByPage2
    (
    @PageIndex INT,
    @PageSize INT
    )
    AS
     
    WITH abc
     
    AS
     (
      
    SELECT ROW_NUMBER() OVER(ORDER BY OID DESCAS RowID, OID
      
    FROM tFunction
     )

     
    SELECT *
     
    FROM tFunction
     
    WHERE OID in (
          
    SELECT OID
          
    FROM abc
          
    WHERE RowID between (@PageIndex-1)*@PageSize and @PageIndex*@PageSize
         )
    GO      


    -- UP_tFunction_GetListByPage2 1, 10

  • 相关阅读:
    14 循环结构
    12.Maps
    11 Lists
    10 正则表达式
    8 Operator overloading
    9 Strings
    7 数据类型
    6 GPath
    4 练习: 使用eclipse开发
    5 类、对象、方法
  • 原文地址:https://www.cnblogs.com/zhaoguan_wang/p/1176231.html
Copyright © 2011-2022 走看看