我有以下存儲過程:SET NOCOUNT ON在SQL Server Management Studio中帶回的消息
ALTER PROCEDURE [dbo].[spTitle_GetTitleById]
(
@TitleId INT
)
AS
BEGIN
SET NOCOUNT ON;
SELECT
Id,
Name,
Active
FROM
Title
WHERE
Id = @TitleId
END
我被告知使用SET NOCOUNT ON;
如果我不想被返回的消息做。我通過SQL Server Management Studio 2008運行了這個存儲過程,並且收到以下消息:
(1 row(s) affected)
這仍然是一條消息。我們的一個數據庫管理員說,這會是這樣的,但是當它通過應用程序運行它不會返回任何消息。有沒有辦法,我可以測試一下,看看郵件是否被退回或沒有時,我使用SET NOCOUNT ON;
我不想承擔,我想知道的一種方式。
我右鍵點擊存儲過程,並選擇執行存儲過程......然後,我將它設置爲OFF,和我:
(1 row(s) affected)
(1 row(s) affected)
所以將其設置爲ON或OFF仍帶回的消息結果面板中的消息選項卡。
又一個問題,什麼時候是(在什麼情況下)使用SET NOCOUNT OFF;
明智?
對不起,我可能是一個愚蠢的問題,我只想澄清:您運行存儲過程本身('EXEC spTitle_GetTitleById')或'ALTER PROCEDURE'聲明? – Quassnoi 2011-05-04 13:37:36
'SET NOCOUNT ON'復位當程序退出,它會調用堆棧。存儲過程調用的任何一方是否還有其他語句? – 2011-05-04 13:39:10
@Quassnoi:不是一個愚蠢的問題。我右鍵單擊它並選擇執行存儲過程。 – 2011-05-04 16:45:07