Tsql 隐藏T-SQL结果并仅显示行数

Tsql 隐藏T-SQL结果并仅显示行数,tsql,Tsql,我有一个查询,只想显示行数,而不是我调用的进程的结果 例如: exec GetSomething @UserID = 112233, @MaxAge = 50, ... etc. SET @Count = @@rowcount SELECT @Count 在选择计数之前,不仅返回计数,还返回第一个记录集的结果记录列表 如何仍然进行此计数而不显示记录集结果?您可以尝试使用OPENROWSET,但必须确保它已启用: SELECT count(*) FROM OPENROW

我有一个查询,只想显示行数,而不是我调用的进程的结果

例如:

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

SET @Count = @@rowcount
SELECT @Count
在选择计数之前,不仅返回计数,还返回第一个记录集的结果记录列表


如何仍然进行此计数而不显示记录集结果?

您可以尝试使用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:

您可以尝试使用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:

是否将查询更改为进行计数(*),而不是返回行?返回您永远不会使用的行是浪费资源。我喜欢使用rowcount。行数不是问题所在。我只需要抑制来自proc的结果,这样它就不会显示在查询分析器结果中,但仍然让Select@Count显示它当前显示的值。我只想看到SELECT@Count结果,而不是它之前的proc调用所产生的记录。我只希望语法是all-over-Count(*)。我不明白你为什么这么生气。我只是说“rowcount很好”…你的意思是,rowcount返回了正确的计数…加上我解释了自己,然后你就发火了?wtfchange查询进行计数(*),而不是返回行?返回您永远不会使用的行是浪费资源。我喜欢使用rowcount。行数不是问题所在。我只需要抑制来自proc的结果,这样它就不会显示在查询分析器结果中,但仍然让Select@Count显示它当前显示的值。我只想看到SELECT@Count结果,而不是它之前的proc调用所产生的记录。我只希望语法是all-over-Count(*)。我不明白你为什么这么生气。我只是说“rowcount很好”…你的意思是,rowcount返回了正确的计数…加上我解释了自己,然后你就发火了?如果您的目标是运行查询,则运行@rowcount,据我所知,无法隐藏结果。如果您的目标是运行查询,则运行@rowcount,据我所知,无法隐藏结果。