create view IS_student
as
select sno,sname,sage
from student
where sdept='IS'
with check option;
加上了with check option;后,不能执行插入操作:
insert into is_student
values('95100','李娜',12)
什么原因?不加上with check option则可以!
with check option可以这么解释:通过视图进行的修改,必须也能通过该视图看到修改后的结果。比如你insert,那么加的这条记录在刷新视图后必须可以看到; 如果修改,修改完的结果也必须能通过该视图看到;如果删除,当然只能删除视图里有显示的记录。
而你只是查询出sdept='is'的纪录,你插入的根本不符合sdept='is'呀,所以就不行
意思就是说在执行Insert的时候,默认情况下sdept是'IS',才满足with check option是吗?
DBMS不会自动加上Sdept='IS'吗?因为在视图IS_student是选择所有是‘IS’的学生的啊!
as
select sno,sname,sage
from student
where sdept='IS'
with check option;
加上了with check option;后,不能执行插入操作:
insert into is_student
values('95100','李娜',12)
什么原因?不加上with check option则可以!
with check option可以这么解释:通过视图进行的修改,必须也能通过该视图看到修改后的结果。比如你insert,那么加的这条记录在刷新视图后必须可以看到; 如果修改,修改完的结果也必须能通过该视图看到;如果删除,当然只能删除视图里有显示的记录。
而你只是查询出sdept='is'的纪录,你插入的根本不符合sdept='is'呀,所以就不行
意思就是说在执行Insert的时候,默认情况下sdept是'IS',才满足with check option是吗?
DBMS不会自动加上Sdept='IS'吗?因为在视图IS_student是选择所有是‘IS’的学生的啊!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16436858/viewspace-612026/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/16436858/viewspace-612026/
探讨了WITH CHECK OPTION在视图创建中的作用及限制条件,特别是当尝试插入不符合视图定义的数据时的行为。
4854

被折叠的 条评论
为什么被折叠?



