创建with check option的视图

h235h3h 2005-05-11 10:02:27
摘自联机文档:
默认情况下,由于行通过视图进行添加或更新,当其不再符合定义视图的查询的条件时,它们即从视图范围中消失。例如,可创建一个查询,从而定义一个视图以在表中检索所有员工薪水低于 $30,000 的行。如果该员工的薪水涨到了 $32,000,则查询视图时该特定员工将不再出现,因其薪水不符合视图所设的标准。但是,WITH CHECK OPTION 子句强制所有数据修改语句均根据视图执行,以符合定义视图的 SELECT 语句中所设的条件。如果使用该子句,修改行时需考虑到不让它在修改完后从视图中消失。任何可能导致行消失的修改都会被取消,并显示错误信息。

上面讲的“该员工的薪水涨到了 $32,000”是说直接将表里面的数值update成32000,然后通过那个视图,还能查询到该记录吗?如果是这样的话,我们在视图里定义的条件是<32000,但是结果里面却出现3200的记录,这样不是出现混乱了?请指点
...全文
126 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yesyesyes 2005-05-11
  • 打赏
  • 举报
回复
用原视图查,当然查不出了
h235h3h 2005-05-11
  • 打赏
  • 举报
回复
re:加with check option后,修改视图时,薪水将不能修改成>32000

我的意思是说不通过视图去修改表里面的数据,而是直接update表里面的内容>32000,这样的话,记录还查得出来吗
yesyesyes 2005-05-11
  • 打赏
  • 举报
回复
加with check option后,修改视图时,薪水将不能修改成>32000
h235h3h 2005-05-11
  • 打赏
  • 举报
回复
这样是对的

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧