SQL Server 2012を使用しています。ユーザーがDMLアクションを実行できるようにするために、他のテーブル。これらのトリガーにはSET NOCOUNT ON
があり、論理エラーをキャッチするために多くのIF...RAISERROR(...) RETURN
ステートメントがあります。私は、基になるテーブルに影響を与えずにトリガが返された場合でも、SSMSは「影響を受けるn個以上の行」を出力することに気付きました。ここで、nはビュー内で影響を受ける行の数です。NOCOUNT出力のトリガーは、データテーブル行が変更されていない場合に1つ以上の行に影響を受けます。
CREATE TRIGGER dbo.triggerViewTest
ON dbo.viewTest
INSTEAD OF INSERT AS
BEGIN
SET NOCOUNT ON
IF 1 != 0
BEGIN
RAISERROR('No rows should be affected!', 16, 1)
RETURN
END
END
INSERT INTO dbo.viewTest (columnA) VALUES (1)
とSSMS 1 row(s) affected
を出力します。だから、私は同じ結果で、次のような単純なトリガーをテストしました。
この出力を抑制するにはどうすればよいですか?
を。 –