student表:

95001 李勇 男 20 CS

95002 刘晨 女 21 IS

95003 王敏 女 18 MA

95004 张力 男 19 IS

建立视图IS_STUDENT显示“IS”系所有学生的学号、姓名、性别。

create view IS_STUDENT

as

select Sno,Sname,Ssex from Student

where Sdept='IS'

with check option;

用insert语句向视图中插入元组('95009','王五','男'),查看基本表student表中插入的数据值。

下面是失败的消息: 消息 550,级别 16,状态 1,第 1 行

试图进行的插入或更新已失败,原因是目标视图或者目标视图所跨越的某一视图指定了 WITH CHECK OPTION,而该操作的一个或多个结果行又不符合 CHECK OPTION 约束。 语句已终止

解答:

with check  option可以这么解释:通过视图进行的修改,必须也能通过该视图看到修改后的结果。

比如你insert,那么加的这条记录在刷新视图后必须可以看到; 如果修改,修改完的结果也必须能通过该视图看到;如果删除,当然只能删除视图里有显示的记录。

小结:

首先视图只操作它可以查询出来的数据,对于它查询不出的数据,即使基表有,也不可以通过视图来操作。

1.对于update,有with check option,要保证update后,数据要被视图查询出来

2.对于delete,有无with check option都一样

3.对于insert,有with check option,要保证insert后,数据要被视图查询出来

4.对于没有where 子句的视图,使用with check option是多余的

原地址:http://www.cnblogs.com/wangaohui/archive/2012/12/15/2819419.html

最新文章

  1. 替换所有字符串,获取url参数值
  2. 《Cracking the Coding Interview 》之 二叉树的创建 与 遍历(非递归+递归version)
  3. redis linux安装与简单集群配置
  4. TFS 2013”无法移除仍为团队管理员身份的标识”
  5. windows下shopex农行支付接口开发笔记
  6. SSIS -->> Variable Data Type vs SSIS Data Type
  7. nginx 负载均衡相关知识
  8. js字符串的各种格式的转换 ToString,Format
  9. Cocos移植到Android-使用Eclipse交叉编译打包
  10. laravel route路由,视图和response和filter
  11. Linux crontab 命令格式与具体样例
  12. PHP常用内置函数
  13. Android 数据库ORM框架GreenDao学习心得及使用总结<二>
  14. C# 通讯网关开发
  15. spring_boot攻略1.1-hello SpringBoot
  16. 安装linux的关键步骤
  17. 可能是最全面的G1学习笔记
  18. docker run 之后执行多条命令
  19. LOJ #2978「THUSCH 2017」杜老师
  20. English trip V1 - 12.Belongings 行李 Teacher:Jade Key: ?

热门文章

  1. Redis 集群版
  2. vue-cli3.0
  3. vue的一些随记
  4. 一梦江湖费六年——QQ群聊天分析
  5. Xilinx Vivado的使用详细介绍(4):Zedboard+vivado之流水灯(加SDK)
  6. kafka知识点
  7. 从mysql向HBase+Phoenix迁移数据的心得总结
  8. A.CTable 自动创建数据表
  9. go安装和开发工具安装
  10. 【细小碎的oi小知识点总结贴】不定时更新(显然也没人看qwq)