用AFTER触发器实现选课人数自减功能,实现当在表TB_SelectCourse上删除选课记录时,自动将对应课程班TB_CourseClass表中的已选学生人数(SelectedNumber)减1。
时间: 2024-05-07 18:22:48 浏览: 73
selectCourse_javamysql_servlet_JSTL_jsp_学生选课系统_
5星 · 资源好评率100%
可以使用如下的 AFTER DELETE 触发器来实现这个功能:
```sql
CREATE TRIGGER trg_TB_SelectCourse
AFTER DELETE
ON TB_SelectCourse
FOR EACH ROW
BEGIN
UPDATE TB_CourseClass
SET SelectedNumber = SelectedNumber - 1
WHERE CourseClassID = OLD.CourseClassID;
END;
```
这个触发器会在每次从 `TB_SelectCourse` 表中删除记录时自动执行。它会将对应课程班的 `SelectedNumber` 字段减去 1,以实现选课人数自减的功能。
需要注意的是,在这个触发器中使用了 `OLD` 关键字来引用被删除的记录。`OLD.CourseClassID` 表示被删除记录的 `CourseClassID` 字段值,即对应课程班的 ID。通过这个值,我们可以更新对应课程班的选课人数。
阅读全文