使用Inner join的SQL Server触发器

时间:2016-08-09 22:10:23

标签: sql sql-server triggers inner-join

我正在尝试创建一个触发器,仅当插入到classes表中的姓氏与coaches表中列出的姓氏不匹配时才触发。

这是我所拥有的,但无论插入表中的是什么,它似乎都会被解雇。:

CREATE TRIGGER CoachValidate
ON CLASSES 
FOR INSERT, UPDATE
AS
BEGIN
    IF exists (SELECT *
               FROM inserted i
               INNER JOIN COACHES c ON i.lastname <> c.lastname)
        RAISERROR('INVAILD COACH', 10, 0)
        ROLLBACK
END

有人可以帮我找到错误吗?

1 个答案:

答案 0 :(得分:1)

你使用了错误的方法。而是在Coach表上定义名称是唯一的(如果它还没有)并使用外键关系:

xAxes : [ {
            display : true, // set this to false to hide the labels under the bars
            maxTicksLimit: 0
        }]

无需在触发器中复制数据库已为您执行的操作。