建立信息系学生的视图:
create view IS_Student as select Sno,Sname,Sage from Student where Sdept='IS';
建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生
create view IS_Student as select Sno,Sname,Sage from Student where Sdept='IS' with check option;
用的第二中创建视图,在使用视图时向视图中插入数据报错,错误情况如下:
造成该问题的原因是:当向视图中插入数据时,同时也会向原表插入数据插入数据 ,而原表(Student)中存在多个字段不允许为空,所以无法插入,将这些不允许为空的字段修改为允许为空即可。
修改后又报另外一种错误:
怀疑是with check option的原因:在百度上查了一下
网上是这样说的。删除后重新创建视图:
成功!但因为视图中where条件限制,只在原表中显示出添加的内容。