total(department,nums)记录了每个专业学生的人数, 请编写触发器, 当x向学生表中添加、删除学生和更改学生所在的专业时, 能够自动更新 total 表。
时间: 2024-02-12 18:05:17 浏览: 42
好的,我可以为您提供一个MySQL的触发器示例,可以在添加、删除、修改学生信息时自动更新total表。具体实现如下:
```sql
CREATE TRIGGER update_total AFTER INSERT ON student
FOR EACH ROW
BEGIN
UPDATE total SET nums = nums + 1 WHERE department = NEW.department;
END;
CREATE TRIGGER delete_total AFTER DELETE ON student
FOR EACH ROW
BEGIN
UPDATE total SET nums = nums - 1 WHERE department = OLD.department;
END;
CREATE TRIGGER update_department AFTER UPDATE ON student
FOR EACH ROW
BEGIN
UPDATE total SET nums = nums - 1 WHERE department = OLD.department;
UPDATE total SET nums = nums + 1 WHERE department = NEW.department;
END;
```
这个触发器包含了三个部分,分别对应添加、删除、修改学生信息时更新total表。当插入新的学生信息时,触发器会自动更新对应专业的人数加1;当删除学生信息时,触发器会自动更新对应专业的人数减1;当修改学生的专业信息时,触发器会分别更新新专业和旧专业的人数。
需要注意的是,这个触发器是基于MySQL数据库的,如果您使用的是其他数据库,可能会有所不同。另外,触发器的具体实现也可能会因为表结构和业务需求的不同而有所差异。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)