在TB_Student中加一字段TotalGrade,创建一个触发器,当向TB_Grade表插入记录后,如果成绩非空则在该学生的TotalGrade中自动加上该门课程的得分。
时间: 2024-03-24 12:41:54 浏览: 84
输入学生学籍信息,统计学生某一门课的成绩并且根据这门课的成绩给出相应的等级评定!
好的,以下是对应的触发器的 SQL 语句:
```sql
-- 创建触发器
CREATE TRIGGER add_grade_trigger
AFTER INSERT ON TB_Grade
FOR EACH ROW
BEGIN
IF NEW.Grade IS NOT NULL THEN
UPDATE TB_Student SET TotalGrade = TotalGrade + NEW.Grade WHERE StudentID = NEW.StudentID;
END IF;
END;
```
触发器中使用了 `IF` 语句判断插入的新记录的成绩是否为空,如果不为空,则使用 `UPDATE` 语句对 `TB_Student` 表进行更新,将对应学生的 `TotalGrade` 字段加上该门课程的得分。其中,`NEW.StudentID` 表示插入的新记录的学生 ID,即将要更新的学生的 ID。需要注意的是,这个触发器只在插入成绩时触发,对于更新或删除操作不会触发。
阅读全文