MariaDB 触发器连接两个表?

MariaDB Trigger joining two tables?

如果你有两个 table(课程和老师)

老师和主管是外键,意味着它们包含 T#。

现在我想制作一个触发器来检查老师和主管是否都来自同一部门(数学、编程等),如果不是,则应该显示错误。它应该是新课程触发器的 "insert"。

您可以使用以下触发器:

delimiter //
create trigger trg_ins_course_teacher_supervisor 
before insert on course
for each row
begin
    if 
        (select t.department from teacher t where t.t# = new.teacher)
        != (select t.department from teacher t where t.t# = new.supervisor)
    then
        signal 
            sqlstate '45000' 
            set message_text = 'teacher and supervisor must belong to the same department';
    end if;
end
//
delimiter ;