创建用于限制重复条目的触发器 [英] Create Trigger for Restricting Duplicate Entries

查看:82
本文介绍了创建用于限制重复条目的触发器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

任务:通过检查AttendanceDate和EmpCode的组合,如果已经标记了特定emp的出勤,则避免用户插入表tblAttendance。



表:tblAttendance

(EmpCode,AttendanceDate,Status)



问题:无法按照Sql server中的上述要求设计触发器

Task: Avoid user from inserting into Table tblAttendance if Attendance of particular emp is already marked, by checking combination of AttendanceDate and EmpCode.

Table: tblAttendance
(EmpCode, AttendanceDate, Status)

Problem: Not able to design the trigger as per above requirement in Sql server

推荐答案

尝试类似

Try like
CREATE TRIGGER dbo.uniqueUserQuestion 
ON dbo.submit_Answer
INSTEAD OF INSERT
AS
BEGIN
    SET NOCOUNT ON
    IF EXISTS 
    (
        SELECT 1 
        FROM dbo.submit_Answer T 
        INNER JOIN INSERTED I 
        ON T.user_name = I.user_name 
            AND T.question_id = I.question_id
    )
    BEGIN
        -- Do dupe handling here
        PRINT 'duplicate'
        raiserror('cant submit answer to same question twice')
        return
    END

    -- actually add it in
    INSERT INTO
        dbo.submit_Answer
    SELECT
        *
    FROM
        INSERTED I
END
GO


这篇关于创建用于限制重复条目的触发器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆