在sqlserver school数据库的teacher表上创建一个delete触发器,规定不能删除任课教师的记录
时间: 2024-03-05 12:51:32 浏览: 97
利用SQL Server触发器实现表的历史修改痕迹记录
好的,以下是在sqlserver school数据库的teacher表上创建一个delete触发器的SQL语句,实现不能删除任课教师的记录:
```sql
CREATE TRIGGER tr_teacher_delete
ON teacher
FOR DELETE
AS
BEGIN
IF EXISTS(SELECT 1 FROM deleted d JOIN course c ON d.tid = c.tid)
BEGIN
RAISERROR('不能删除任课教师的记录!', 16, 1)
ROLLBACK TRANSACTION
END
END
```
这个触发器会在删除teacher表中的记录时触发,判断该教师是否在course表中任课。如果存在,则会提示错误信息并回滚事务,从而防止删除任课教师的记录。
阅读全文