博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PLSQL_基础系列05_视图控制WITH CHECK OPTION(案例)
阅读量:6152 次
发布时间:2019-06-21

本文共 1520 字,大约阅读时间需要 5 分钟。

2014-12-09 Created By BaoXinjian

一、摘要


通过有with check option选项的视图操作基表(只是面对单表,对连接多表的视图正在寻找答案),有以下结论:

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

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

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

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

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

 

二、案例


Step1. 创建表

create table emp(    id number(5,0),    name varchar2(12),    address varchar2(12));insert into emp values (5,'張三','廣西');insert into emp values (6,'李四','北京');insert into emp values (7,'王五','山東');

 

Step2. 创建带with check option的视图

create view emp_viewasselect * from emp where id=5with check option;

 

Step3. 创建没有with check option的视图

create view emp_view2asselect * from emp where id='5'

 

Step4. update 操作

update  emp_view set  name='陈六' where id=6;-,虽然基表有id=6的记录,但emp_view无法查看到,所以这个修改不会影响基表内容update  emp_view set  id=6 where id=5; --出现 view WITH CHECK OPTION where-clause violation错误update  emp_view2 set id=6 where id=5; --成功执/plain行

结论:对于update,有无with选项都是只更改视图出现的記錄,对有whih选项的update,要保证更改后仍可以出现在视图中

 

Step5. 操作

--update操作update  emp set id=5 where name='張三';--delete操作delete emp_view where id='5'--结论:--对于delete,有无with选项是一样的。 --insert操作insert into emp_view values (8,'王','江蘇');--出现 view WITH CHECK OPTION where-clause violation错误insert into emp_view2 values (8,'王','江蘇');--执行成功

 

Step6. 结论:

对于insert,有with选项,插入的数据要最终要可以显示在视图中,对于无with选项的视图可以插入任何不违反约束的记录

 

Thanks and Regards

参考: http://blog.csdn.net/fredrickhu/article/details/4743204

转载于:https://www.cnblogs.com/eastsea/p/4134346.html

你可能感兴趣的文章
Windows DHCP Server基于MAC地址过滤客户端请求实现IP地址的分配
查看>>
命令查询每个文件文件数
查看>>
《跟阿铭学Linux》第8章 文档的压缩与打包:课后习题与答案
查看>>
RAC表决磁盘管理和维护
查看>>
Apache通过mod_php5支持PHP
查看>>
发布一个TCP 吞吐性能测试小工具
查看>>
java学习:jdbc连接示例
查看>>
PHP执行批量mysql语句
查看>>
Extjs4.1.x 框架搭建 采用Application动态按需加载MVC各模块
查看>>
Silverlight 如何手动打包xap
查看>>
建筑电气暖通给排水协作流程
查看>>
JavaScript面向对象编程深入分析(2)
查看>>
linux 编码转换
查看>>
POJ-2287 Tian Ji -- The Horse Racing 贪心规则在动态规划中的应用 Or 纯贪心
查看>>
Windows8/Silverlight/WPF/WP7/HTML5周学习导读(1月7日-1月14日)
查看>>
关于C#导出 文本文件
查看>>
使用native 查询时,对特殊字符的处理。
查看>>
maclean liu的oracle学习经历--长篇连载
查看>>
ECSHOP调用指定分类的文章列表
查看>>
分享:动态库的链接和链接选项-L,-rpath-link,-rpath
查看>>