3.在学生表中创建delete类型的触发器T_Student_Delete,要求在删除学生信息之前,先检测该学生是否有选课信息,如果有的话,不允许删除;
时间: 2024-03-12 11:47:06 浏览: 97
14、为学生表创建触发器,要求: (1)当用户成功删除该表中的一条或多条记录时,触发器自动删
可以使用如下代码创建触发器T_Student_Delete:
```
CREATE TRIGGER T_Student_Delete
BEFORE DELETE ON Student
FOR EACH ROW
BEGIN
DECLARE course_count INT;
SELECT COUNT(*) INTO course_count FROM Course WHERE StudentID = OLD.StudentID;
IF course_count > 0 THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = '该学生有选课信息,不允许删除!';
END IF;
END;
```
这个触发器会在每次删除学生信息之前触发,使用`COUNT(*)`函数查询该学生在Course表中的选课信息数量,如果数量大于0,则会抛出一个异常,提示该学生有选课信息,不允许删除。
阅读全文