각 사용자가 데이터를 한 번 저장 한 후 트리거를 만드는 방법에 대한 아이디어. 예 : 누군가가 한 번 엔트리에 넣으면 실행될 것입니다. 하지만 두 번째로 '오류 메시지'라고 말하고 싶습니다.SQL2012 마이크로 소프트 트리거
테이블에는 사용자 테이블, 날짜 및 응답이 있습니다.
CREATE TRIGGER [dbo].[prevent_multiple_entry] ON [dbo].[userresponse]
FOR INSERT
AS
BEGIN
IF EXISTS(SELECT * FROM userresponse AS U, INSERTED AS I WHERE U.User = I.User)
BEGIN
RAISERROR('Each user can only submit to the same question once ',16,1)
ROLLBACK TRANSACTION
END
END
'중첩 트리거'와 RECURSIVE_TRIGGERS 설정을 생성하라 있는지 확인하고 사실에 대해 생각 :
이 내이 하나의 시도 지금까지
CREATE TRIGGER [dbo].[prevent_multiple_entry] ON [dbo].[userresponse]
FOR INSERT
AS
IF EXISTS (SELECT Users FROM userresponse)
BEGIN
PRINT 'Error message'
RAISERROR('Each user can only submit to the same question once ',16,1)
ROLLBACK
END
단순히 고유 인덱스를 사용하지 않는 이유는 무엇입니까? –