我正在使用 SQL Server 2012。我在视图上有触发器,目的是允许我的用户像任何其他表一样对其执行 DML 操作。这些触发器有SET NOCOUNT ON
并且有许多IF...RAISERROR(...) RETURN
语句来捕获逻辑错误。我注意到,即使在不影响任何基础表的情况下返回触发器,SSMS 也会输出“n 或更多行受影响”,其中 n 是视图中受影响的行数。因此,我测试了以下简单触发器,结果相同:
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
。
如何抑制此输出?