首页 > 解决方案 > 如何在不返回结果集本身的情况下获取从另一个存储过程中的存储过程返回的记录计数?

问题描述

我有一个复杂且可能很大或可能为空的查询,目前仅在窗口中公开:

CREATE PROCEDURE dbo.GetComplexResultset @arg1 as nvarchar(10), ..., @argN int , @startwindow INT=0, @windowsize INT=20
AS 

..... (T-SQL bits here)

GO 

CREATE PROCEDURE dbo.GetCountComplexResultset @arg1 as NVARCHAR(10), ..., @argN INT
AS 

exec dbo.GetComplexResultset @arg1, ..., @argN, 0, 10000

Select @@Rowcount

GO

按照设计,dbo.GetComplexResultset 被构建为显示一个小窗口的结果。我希望 ComplexResultset 很复杂,并且更改得足够频繁,以至于不想保持同步两个存储过程。

调用 dbo.GetCountComplexResultset 将返回结果集和行数。

我只想要行数。

有没有办法清除返回的结果?

标签: sqltsqlstored-procedures

解决方案


推荐阅读