【发布时间】:2010-11-04 14:53:09
【问题描述】:
我有一个关于存储过程的问题。
我尝试获取结果集的页面和整个集合的记录数。
每个都是独立的,但我无法将它组合起来:
ALTER PROCEDURE dbo.pagingSCP
@PageStart INT,
@PageSize INT,
@RecordCount INT OUTPUT
AS
BEGIN
WITH AllRecords AS (
SELECT ROW_NUMBER() OVER (ORDER BY MATNR)
AS Row, viewStyleColorInModul.*
FROM viewStyleColorInModul WHERE SPRAS = 'D'
) SELECT * FROM AllRecords WHERE Row between
@PageStart and @PageStart + @PageSize
END
(返回 50 行) @RecordCount = 0 @RETURN_VALUE = 0 完成运行 [dbo].[pagingSCP]。
ALTER PROCEDURE dbo.pagingSCP
@PageStart INT,
@PageSize INT,
@RecordCount INT OUTPUT
AS
BEGIN
WITH AllRecords AS (
SELECT ROW_NUMBER() OVER (ORDER BY MATNR)
AS Row, viewStyleColorInModul.*
FROM viewStyleColorInModul WHERE SPRAS = 'D'
) SELECT @RecordCount = Count(*) From AllRecords
END
没有行受到影响。 (返回 0 行) @RecordCount = 43770 @RETURN_VALUE = 0 完成运行 [dbo].[pagingSCP].
现在可以通过某种方式获得 50 Rows 和总 Recordcount 在单个查询中?
提前致谢。
【问题讨论】:
标签: sql stored-procedures records rowcount