利用触发器,实现“学生信息表”和“成绩信息表”的级联删除和级联更新,也就是,当删除或者修改“学生信息表”的信息时,自动删除或者修改“成绩信息表”的相关信息。 1.创建触发器
时间: 2023-09-07 20:11:23 浏览: 86
在“查询分析器”中运行如下命令-数据库触发器ppt
好的,以下是创建触发器的 SQL 语句:
```sql
-- 创建级联删除触发器
CREATE TRIGGER student_delete_trigger
AFTER DELETE ON student_info
FOR EACH ROW
BEGIN
DELETE FROM score_info WHERE student_id = OLD.student_id;
END;
-- 创建级联更新触发器
CREATE TRIGGER student_update_trigger
AFTER UPDATE ON student_info
FOR EACH ROW
BEGIN
UPDATE score_info SET student_name = NEW.student_name WHERE student_id = NEW.student_id;
END;
```
其中,`student_info` 表是学生信息表,`score_info` 表是成绩信息表。当对 `student_info` 表进行删除或更新操作时,触发相应的触发器,实现级联删除和级联更新。具体实现方式如下:
- `student_delete_trigger` 触发器:当从 `student_info` 表中删除某一行数据时,触发该触发器,从 `score_info` 表中删除所有 `student_id` 等于被删除行的 `student_id` 的行数据。
- `student_update_trigger` 触发器:当在 `student_info` 表中更新某一行数据时,触发该触发器,将 `score_info` 表中所有 `student_id` 等于被更新行的 `student_id` 的行数据的 `student_name` 字段更新为新的 `student_name` 值。
阅读全文