create trigger insert_xibu on 教师 after insert as begin if exists ( select 1 from inserted i left join 系部 d on i.系部代码 = d.系部代码 where d.系部代码 is null ) begin raiserror ('不能插入记录,因为存在不存在的系部代码。', 16, 1); rollback transaction; end else begin print '记录插入成功。'; end end; create trigger del_zhuanye on 专业 after delete as begin if exists ( select 1 from 班级 inner join deleted d on 班级.专业代码 = d.专业代码 ) begin raiserror('不能删除记录,因为班级表中引用了此专业代码。',2,1) print '不能删除记录,因为班级表中引用了此专业代码。'; end else begin print '记录已经删除。'; end end; create trigger update_xibu on 教师 after update as begin if update(姓名) begin raiserror('不能修改教师姓名,因为这会间接影响系部信息。', 4, 1); end end;