반환이 if 문은 ... 트리거입니다 왜 항상 여기에 진정한
ALTER TRIGGER [dbo].[trg_rejectNoTitle]
ON [dbo].[FMQI]
FOR INSERT,UPDATE
AS
IF EXISTS (SELECT * FROM inserted WHERE TITLE = '')
BEGIN
SET NOCOUNT ON;
RAISERROR('Missing TITLE',10,1)
ROLLBACK TRAN
END
GO
제목 필드가 빈 문자열 때 내가 삽입 또는 갱신을 거부 할 볼 수 있듯이
. TITLE이 비어 있지 않고 삽입 또는 업데이트가 거부 된 경우에도 if 구문이 항상 true로 해결되는 이유를 알 수 없습니다.UPDATE : 문제는
라요스가 옳은 길을 저를 설정 해결했다. 이 ... 나는 그것을 해결하는 방법 당신은 title
빈 문자열을 가지고 당신의 inserts
테이블의 모든 레코드가 있는지 여부를 확인하는
DECLARE @Title VARCHAR(45)
SELECT @Title = TITLE FROM inserted
IF @Title = ''
BEGIN
SET NOCOUNT ON;
RAISERROR('Missing TITLE',10,1)
ROLLBACK TRAN
END
빈 문자열과 'NULL'은 완전히 다른 것입니다. –