MSDN的解释:
强制针对视图执行的所有数据修改语句都必须符合在 select_statement 中设置的条件。通过视图修改行时,WITH CHECK OPTION 可确保提交修改后,仍可通过视图看到数据。如果在 select_statement 中的任何位置使用 TOP,则不能指定 CHECK OPTION。
个人理解:
|
普通视图 |
视图 WITH CHECK OPTION |
查询 |
只能查询视图定义内的数据。 | |
增加 |
可以增加不符合视图定义的数据。 |
只能增加符合视图定义的数据。 |
修改 |
只能修改定义内的数据,而且修改的结果可以不在视图定义之内。 |
只能修改定义内的数据,但修改的结果还必须符合视图定义。 |
删除 |
只能删除视图定义内的数据。 |
以上论断可以这样验证:在SQL Server 2005环境下建立一个基础表、两个视图:
然后,分别对这两个视图进行增删改查操作。(具体过程,略)