SQL Server 2012를 사용하고 있습니다. 사용자가 DML 작업을 수행 할 수 있도록하기 위해 뷰에 트리거가 있습니다. 다른 테이블. 이러한 트리거에는 SET NOCOUNT ON
이 있고 논리적 오류를 catch하기 위해 많은 수의 IF...RAISERROR(...) RETURN
문이 있습니다. 트리거가 기본 테이블에 영향을주지 않고 반환 되더라도 SSMS는 "n 개 이상의 영향을받는 행"을 출력합니다. 여기서 n은 뷰에서 영향을받는 행 수입니다. 그래서, 나도 같은 결과, 다음과 같은 간단한 트리거를 테스트 :NOCOUNT 출력이있는 트리거 데이터 테이블 행이 변경되지 않은 경우 하나 이상의 행이 영향을받습니다.
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
를 인쇄합니다.
이 출력을 어떻게 억제합니까?
합니다. –