after トリガーを作成する必要があります。(厳密には AFTER トリガーのみ)。私は正しい軌道に乗っていると思いますが、正しく実行できないようです。重複がある場合だけでなく、常にトリガーを実行し、すべての挿入ステートメントでエラーメッセージを表示するようです。これは私が持っているものです。
CREATE TRIGGER Copies
ON table
AFTER INSERT
AS
Declare @number int
Set @number = (Select Count(*) from inserted)
If @number >0
(
SELECT *
FROM table O
JOIN inserted AS i
ON t.q_id = i.q_id
WHERE O.username = i.username
AND t.q_id = i.q_id
)
BEGIN
RAISERROR ('Already answered', 16, 1);
ROLLBACK TRANSACTION;
RETURN
END;
GO
Ps。トリガー用で返信しないでください。ありがとう :)