私はSQL Server 2008データベースにストアドプロシージャを作成しています。私は影響を受ける行の数を返したい。何が良いオプションですSET NOCOUNT OFFまたは@ ROWCOUNTを返しますか?SET NOCOUNT OFFまたは@ 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がデフォルトでストアドプロシージャ内でOFFになっているという結論に至りました。私のデータベース内でこの動作を変更することは可能ですか?
SqlCommandのドキュメント内でSET NOCOUNTについて何も言及していません。 DataAdaptersと同じ問題があることは確かですか? – niaher
Googleにはそれがあるという証拠がたくさんあります:http://www.google.co.uk/search?client=firefox-a&rls=org.mozilla%3Aen-GB%3Aofficial&channel=s&hl=en&q=ExecuteNonQuery+ NoCount&meta =&btnG = Google +検索。私はそれをテストせずにDataAdaptersと同じ問題であるとは確信できませんが、別の理由があるのはなぜか分かりません。 – RichardOD