몇 가지 다른 테이블 업데이트를 수행하는 SQL Server 저장 프로 시저 (SQL Server 2008 R2 사용)가 있습니다. 행이 업데이트되면 감사 테이블에 정보를 기록하려고합니다.@@ ROWCOUNT는 0 행 수를 확인하지 않음
UPDATE tblName SET flag = 'Y' WHERE flag = 'N'
IF @@ROWCOUNT > 0
BEGIN
INSERT INTO auditTable...etc
END
불행하게도, 제로 행이 업데이트 된 경우에도 여전히 감사 테이블의 조치를 기록합니다
여기 내 의사 코드이다.
참고 : 업데이트되는 테이블에는 관련 트리거가 없습니다.
왜 이런 일이 일어날 수 있으리라 생각하십니까?
괜찮아 보입니다. 다른 일이 계속되어야합니다. 이것은 분명히 실제 코드가 아닙니다. 너는 무엇을 버렸는가? update 문 바로 다음에'PRINT @@ ROWCOUNT'를 추가하십시오. – usr
아마도 'UPDATE'와 그것을 다시 설정하는 'IF @@ ROWCOUNT'사이에 다른 진술이있을 것입니다. –
결과가 무엇인지 보려면 IF @@ ROWCOUNT를 IF에 추가하십시오. –