通过存储过程进行分页查询的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
作者:阿笨
【官方QQ一群:跟着阿笨一起玩NET(已满)】:422315558
【官方QQ二群:跟着阿笨一起玩C#(已满)】:574187616
【官方QQ三群:跟着阿笨一起玩ASP.NET(已满)】:967920586
【官方QQ四群:Asp.Net Core跨平台技术开发(可加入)】:829227829
【官方QQ五群:.NET Core跨平台开发技术(可加入)】:647639415
【网易云课堂】:https://study.163.com/provider/2544628/index.htm?share=2&shareId=2544628
【腾讯课堂】:https://abennet.ke.qq.com
【51CTO学院】:https://edu.51cto.com/sd/66c64
【微信公众号】:微信搜索:跟着阿笨一起玩NET