我有一個查詢,只想要顯示行數,而不是來自我打電話的過程的結果。隱藏T-SQL結果並僅顯示RowCount
例如這樣的:
exec GetSomething
@UserID = 112233,
@MaxAge = 50,
... etc.
SET @Count = @@rowcount
SELECT @Count
回報不僅計數,但也選擇計數之前產生記錄的第一個記錄的名單。
如何仍可以做這個計數但不顯示記錄集結果?
我有一個查詢,只想要顯示行數,而不是來自我打電話的過程的結果。隱藏T-SQL結果並僅顯示RowCount
例如這樣的:
exec GetSomething
@UserID = 112233,
@MaxAge = 50,
... etc.
SET @Count = @@rowcount
SELECT @Count
回報不僅計數,但也選擇計數之前產生記錄的第一個記錄的名單。
如何仍可以做這個計數但不顯示記錄集結果?
DECLARE @Something TABLE (
...
)
INSERT INTO @Something
EXECUTE GetSomething
@UserID = 112233,
@MaxAge = 50,
... etc.;
SET @Count = @@rowcount
SELECT @Count
真棒想法謝謝。 – PositiveGuy
您可以嘗試使用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
請參閱MSDN上OPENROWSET:http://msdn.microsoft.com/en-us/library/ms190312.aspx
我喜歡使用@@ rowcount – PositiveGuy
如果您的目標是運行查詢,然後運行@@ rowcount,那麼就我所知,無法隱藏結果。 – brendan
變化查詢做一個計數(*)而不是返回行?返回的行你永遠不會使用是浪費資源。 –
rowcount正常工作... – PositiveGuy
我喜歡使用rowcount。 RowCount不是問題。我只需要阻止proc的結果,所以它不會顯示在查詢分析器結果中,但仍然讓Select SELECT @ Count顯示它當前顯示的值。我只想看到SELECT @Count結果,而不是與之前的proc調用產生的記錄。 – PositiveGuy