我在Sql Server 2008數據庫中創建一個存儲過程。我想返回受影響的行數。哪一個更好的選擇SET NOCOUNT OFF或RETURN @@ ROWCOUNT?SET NOCOUNT OFF或RETURN @@ ROWCOUNT?
ALTER PROCEDURE [dbo].[MembersActivateAccount]
@MemberId uniqueidentifier
AS
BEGIN
-- Should I use this?
SET NOCOUNT OFF;
UPDATE [dbo].Members SET accountActive = 1 WHERE id = @MemberId;
--Or should I SET NOCOUNT ON and use the following line instead?
--return @@ROWCOUNT;
END
我知道這兩個工作,但哪一個是更好的選擇,爲什麼?
經過一番嘗試,我得出的結論是SET NOCOUNT在默認情況下在存儲過程中是關閉的。是否有可能改變我的數據庫內的這種行爲?
我沒有在SqlCommand文檔中看到有關SET NOCOUNT的任何提及。你確定存在與DataAdapter相同的問題嗎? – niaher 2009-06-15 11:52:57
谷歌它 - 你會發現它有很多證據:http://www.google.co.uk/search?client=firefox-a&rls=org.mozilla%3Aen-GB%3Aofficial&channel=s&hl=en&q=ExecuteNonQuery+ NOCOUNT&元= btnG =谷歌+搜索。我無法確定它與DataAdapter沒有經過測試的問題相同,但我不明白爲什麼會有其他原因。 – RichardOD 2009-06-15 12:00:00