• 通过存储过程进行分页查询的SQL示例


    --创建人:zengfanlong
    --创建时间:2014-7-28 10:51:15
    --说明:根据公司简写代码获取当前待同步的气瓶档案数据(分页获取)
    ALTER PROCEDURE [UP_GasBottles_GetSyncData_ByPage]
        (
          @CompanyAbbrCode NVARCHAR(255) = '' ,
          @LatastRowVersion_BigInt BIGINT ,
          @CurrentMaxRowVersion_BigInt BIGINT ,
          @StartPageIndex INT = 0 ,
          @EndPageIndex INT = 0 ,
          @TotalCount INT OUTPUT
        )
    AS 
        BEGIN
        
     --(1)、定义SQL查询
            SELECT  *
            INTO    #tempTb
            FROM    dbo.GasBottles AS gs WITH ( NOLOCK )
            WHERE   ISNULL(GasBottleNo, '') <> ''
                    AND REPLACE(( SUBSTRING(gs.GasBottleNo, 1, 5) ), '-', '') = @companyAbbrCode
                    AND ( CAST([RowVersion] AS BIGINT) > @LatastRowVersion_BigInt
                          AND CAST([RowVersion] AS BIGINT) <= @CurrentMaxRowVersion_BigInt
                        )
        
        
            IF ( @StartPageIndex <= 0
                 AND @EndPageIndex <= 0
               ) 
                BEGIN 
                   
                    SELECT  *
                    FROM    #tempTb
                    
                    --返回总页数
                    SET @TotalCount = ( SELECT  COUNT(1)
                                        FROM    #tempTb
                                      )    
                END
            ELSE 
                BEGIN
                
     --分页获取数据
                    SELECT  ROW_NUMBER() OVER ( ORDER BY GETDATE() ) AS 'Row' ,
                            *
                    INTO    #tempAll
                    FROM    #tempTb
                 
                 
                    SELECT  *
                    FROM    #tempAll
                    WHERE   Row BETWEEN @StartPageIndex AND @EndPageIndex
        
                    TRUNCATE TABLE #tempAll
                    DROP TABLE #tempAll
                END
                
             --删除历史表  
            TRUNCATE TABLE #tempTb
            DROP TABLE #tempTb  
            
        END
    GO
  • 相关阅读:
    智能家居——安全信息收集(一)
    PMP软件管理之路——站在巨人的肩膀上(一)
    Linux——信息收集(二)Nikto网页服务器扫描器
    XML约束(3)
    xml基本语法(2)
    xml概述(1)
    ajax接受json响应
    ajax接受json响应(讲义)
    json与xml的比较
    零碎小技能
  • 原文地址:https://www.cnblogs.com/51net/p/3979079.html
Copyright © 2020-2023  润新知