学生是如何提交的呢?
是程序来 INSERT INTO ?
还是 学生自己, 手动来 INSERT INTO ?
如果是程序来 INSERT INTO。
那么可以先 SELECT
如果存在, 那么 UPDATE
如果不存在, 那么 INSERT INTO
如果是 学生自己, 手动来 INSERT INTO
那么 触发器里面,判断,如果有重复数据, 就 rollback。
回滚掉本行数据的处理。
你check一下不是就可以了吗?答过得题目都有内容,就不让他再次提交了
触发器接触的少。 我去百度学习下的。 在来看下的
CREATE TRIGGER Reader_Insert ON dbo.submit_Answer
FOR INSERT
AS
BEGIN TRANSACTION
DECLARE @fquestion char(10)
IF EXISTS (SELECT 1 FROM submit_Answer,inserted WHERE submit_Answer.UserName = inserted.UserName AND submit_Answer.Question_ID = inserted.Question_ID)
set @fquestion=(select cast(Question_ID as char(10)) from inserted)
print rtrim(@fquestion)+'问题提交了多次,请核实!'
ROLLBACK TRANSACTION
大概这样
自己修改就可以了
你自己基本上已经写出来了