--创建人: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