首页 > 代码库 > 通过存储过程进行分页查询的SQL示例

通过存储过程进行分页查询的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              ENDGO

 

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