开发者社区> 阿笨net> 正文

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

简介: --创建人:zengfanlong --创建时间:2014-7-28 10:51:15 --说明:根据公司简写代码获取当前待同步的气瓶档案数据(分页获取) ALTER PROCEDURE [UP_GasBottles_GetSyncData_ByPage] ( @C...
+关注继续查看
--创建人: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

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
一个相同查询在不同 RDS for MySQL 实例上性能差异的案例分析
一个相同查询在不同 RDS for MySQL 实例上性能差异的案例分析 1. 问题出现 2. 问题原因 3. 问题解决 4. 问题结论 相同查询在数据量相近的情况下在不同 RDS for MySQL 实例上有不同的性能表现,容易引发用户对 RDS for MySQL 实例的性能差异性的疑虑,本文分享下近期碰到的一个原因比较隐蔽但很常见的案例。
154 0
SQL命令查询Oracle存储过程信息(代码内容等)
SELECT * FROM ALL_SOURCE  where TYPE='PROCEDURE'  AND TEXT LIKE '%0997500%'; --查询ALL_SOURCE中,(脚本代码)内容与0997500模糊匹配的类型为PROCEDURE(存储过程)的信息。
585 0
.NET调用osql.exe执行sql脚本创建表和存储过程
文章出处:http://wenjl520.cnblogs.com/  或  http://www.cnblogs.com/using System;using System.Diagnostics;using System.
674 0
SQL2000系统表、存储过程、函数的功能介绍及应用
转自:http://blog.csdn.net/zlp321002/article/details/480925 ----系统表---------------------------------------------------------------------------------------------------- 虽然使用系统存储过程、系统函数与信息架构视图已经可以为我们提供了相当丰富的元数据信息,但是对于某些特殊的元数据信息,我们仍然需要直接对系统表进行查询。
671 0
sqlserver 通用分页存储过程
来源:http://www.jb51.net/article/19936.htm CREATE PROCEDURE commonPagination @columns varchar(500), --要显示的列名,用逗号隔开 @tableName varchar(100), --要查询...
705 0
SQL Server 在多个数据库中创建同一个存储过程(Create Same Stored Procedure in All Databases)
原文:SQL Server 在多个数据库中创建同一个存储过程(Create Same Stored Procedure in All Databases) 一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 遇到的问题(Problems)...
1263 0
通过存储过程进行分页查询的SQL示例
--创建人:zengfanlong --创建时间:2014-7-28 10:51:15 --说明:根据公司简写代码获取当前待同步的气瓶档案数据(分页获取) ALTER PROCEDURE [UP_GasBottles_GetSyncData_ByPage] ( @C...
642 0
+关注
842
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载