1

我有一个查询,只想显示行数,而不是我正在调用的 proc 的结果。

例如这个:

exec GetSomething
    @UserID = 112233,
    @MaxAge = 50,
    ... etc.

SET @Count = @@rowcount
SELECT @Count

不仅返回计数,而且在选择计数之前返回第一个记录集的结果记录列表。

我怎样才能仍然进行此计数但不显示记录集结果?

4

2 回答 2

1
DECLARE @Something TABLE (
   ...
)

INSERT INTO @Something
EXECUTE GetSomething
   @UserID = 112233,
   @MaxAge = 50,
   ... etc.;

SET @Count = @@rowcount
SELECT @Count
于 2012-05-10T03:42:45.963 回答
0

您可以尝试使用 OPENROWSET 但您必须确保它已启用:

SELECT count(*) FROM OPENROWSET('SQLNCLI', 'Server=(local)\SQL2008;Trusted_Connection=yes;',
     'EXEC GetSomething')

要启用 OPENROWSET:

sp_configure 'Show Advanced Options', 1
GO
RECONFIGURE
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO

请参阅 OPENROWSET 上的 MSDN:http: //msdn.microsoft.com/en-us/library/ms190312.aspx

于 2012-05-10T03:07:12.933 回答