更新视图:向视图sc_view中插入一行数据:2020005,5,87; 将视图student_view中学号=2020002的学生的系改为MA; 删除视图student_view中学号=20200807的学生的信息。
时间: 2024-10-20 18:07:40 浏览: 37
3.5 《数据库系统概论》之基本表更新(INSERT、UPDATE、ALTER、DELETE)与视图VIEW(定义、查询、更新)
更新视图涉及对视图内容的修改,由于视图本质上是查询的结果集,所以在大多数情况下,我们不能直接在其上进行增删改操作,而是需要通过修改基础表来间接影响视图。这里假设你有足够的权限去更新基础表:
1. 向视图`sc_view`中插入一行数据:2020005,5,87(假设课程ID是整数)
```sql
INSERT INTO underlying_table (student_id, course_id, score) VALUES (2020005, 5, 87);
-- 然后再重建视图sc_view,以便反映新的数据
CREATE VIEW sc_view AS ...;
```
2. 将视图`student_view`中学号为2020002的学生的系改为MA
首先找到该学生的基础表行并更新系别:
```sql
UPDATE base_student_table SET department = 'MA' WHERE id = 2020002;
-- 如果视图依赖于这个字段,可能需要刷新视图
REFRESH TABLE student_view;
```
3. 删除视图`student_view`中学号为20200807的学生的信息
直接删除基础表中对应的学生记录:
```sql
DELETE FROM base_student_table WHERE id = 20200807;
-- 再次刷新视图以删除视图中的相关数据
REFRESH TABLE student_view;
```
请注意,上述步骤依赖于具体的数据库系统和表结构,实际操作时需要查阅相应系统的文档。另外,视图是否允许这样的更新取决于视图的定义和所在系统的设置。
阅读全文