原本是应该达到:
强制视图上执行的所有数据修改语句都必须符合由 select_statement 设置的准则。通过视图修改行时,WITH CHECK OPTION 可确保提交修改后,仍可通过视图看到修改的数据
比如
create view stucs as select * from student where sdept='cs' with check option
以后对该视图插入、修改、删除操作时,会自动加上sdept='cs' 的条件
这样的效果的,但是现在却报错说什么重复值,为什么呢??求大神帮助??
WITH CHECK OPTION的作用:
对于update,有无WITH CHECK OPTION选项都是只更改视图中出现的记录,对有WITH CHECK OPTION选项的update,要保证更改后仍可以出现在视图中
对于delete,有无WITH CHECK OPTION选项是一样的。
对于insert,有WITH CHECK OPTION选项,插入的数据要最终要可以显示在视图中,对于无WITH CHECK OPTION选项的视图可以插入任何不违反约束的记录
对于update,有无WITH CHECK OPTION选项都是只更改视图中出现的记录,对有WITH CHECK OPTION选项的update,要保证更改后仍可以出现在视图中
对于delete,有无WITH CHECK OPTION选项是一样的。
对于insert,有WITH CHECK OPTION选项,插入的数据要最终要可以显示在视图中,对于无WITH CHECK OPTION选项的视图可以插入任何不违反约束的记录
温馨提示:答案为网友推荐,仅供参考