[每日一题] OCP1z0-047 :2013-08-12 view视图的描述哪些是正确的?
正确答案是: CE
这是OCP教材中的:
1、简单视图与复杂视图的定义:
2、复杂视图通常不能被DML:
、WITH CHECKOP TIONT选项
A不正确。简单视图可以被更新。
hr@OCM> CREATE VIEW empvu30
2 AS SELECT employee_id, last_name, salary
3 FROM employees
4 WHERE department_id = 30; View created. hr@OCM> update empvu30 set salary=salary+100; 7 rows updated. hr@OCM> commit; Commit complete.
B:错误。复杂视图中定义的的子查询可以包含group by或join,大部分复杂视图都是不能更新的。
hr@OCM> CREATE OR REPLACE VIEW v_emp_depart
2 AS SELECT department_id,count(*) count
3 FROM employees
4 GROUP BY department_id; View created. hr@OCM> update v_emp_depart set count=8 where department_id=60;
update v_emp_depart set count=8 where department_id=60
*
ERROR at line 1:
ORA-01732: data manipulation operation not legal on this view
C:正确。含有distinct的视图是复杂视图,不能直接进行删除列操作。
凡是这样带有要把基表中多行合为一行的视图,改变视图中的一行,ORACLE都无法确定这一行对应基表中几行,这样的视图,都无法进行任何DML操作。会对多行进行合并的,也就只有分组、组函数和取消重复行DISTINCT选项。DISTINCT是取消重复行,其实就是将多个重复的行,合为一个,在视图中的一行,也有可能对应基表的中的若干行。
D:错误。通过视图插入到表中的数据,视图删除后表中数据不会被自动删除。删除视图只是删除视图的定义,视图是也称虚表不真正存放数据,真正的数据在表中。
gyj@OCM> drop view v_t3;
View dropped.
gyj@OCM> select * from v_t3;
select * from v_t3
*
ERROR at line 1:
ORA-00942: table or view does not exist
gyj@OCM> select * from t3; ID NAME SALARY
---------- ---------- ----------
1 gyj1 5000
1 gyj11 5000
2 gyj2 6000
2 gyj22 6000
3 gyj3 7000
3 gyj33 7000
4 gyj4 8000
4 gyj44 8000
5 gyj5 7500 9 rows selected.
视图被删除了,但视图所对应的基表还在。
E:正确。通过or replace选项就不用删除后重建视图,而是直接替换。
创建视图命令中的[OR REPLACE]的意义,REPLACE有替换的意思。它的主要作用是修改视图的定义,也就是修改视图内的SQL语句。比如说上面的empvu30,我想为empvu30中增加一个列first_name,命令如下:
hr@OCM> CREATE OR REPLACE VIEW empvu30
2 AS SELECT employee_id, first_name,last_name, salary
3 FROM employees
4 WHERE department_id = 30; View created.
F:不正。如果视图中有条件,此选项保证了你只能在视图的条件之内,对视图进行DML。
例如我创建如下视图:
gyj@OCM> create or replace view v_t3 as select id, name,salary from t3 where salary>=7000 with check option;
View created.
视图中的条件是salary>=7000,因此,我插入一个要salary小于7000的行,将会报出错误:
gyj@OCM> insert into v_t3 values(5,'gyj5',1000);
insert into v_t3 values(5,'gyj5',1000)
*
ERROR at line 1:
ORA-01402: view WITH CHECK OPTION where-clause violation
而插入一个大于7000的行,可以成功插入:
gyj@OCM> insert into v_t3 values(5,'gyj5',7500);
1 row created.
其他的更新、删除我就不再试了,只要DML的结果满足SALARY大于等7000,DML就可以正常进行。
详细操作可以参考:
http://blog.csdn.net/guoyjoe/article/details/8614677
[每日一题] OCP1z0-047 :2013-08-12 view视图的描述哪些是正确的?的更多相关文章
- <2013 08 12> Andrew:C语言的一点心得
C语言的特点在于,这是少见的中级语言(介于机器汇编和高级语言之间),因此它极其紧密地与特定机器架构.编译器.操作系统.库等基本概念相连.在底层,人们可以少量的甚至不使用汇编,但是不能不使用C.它以一种 ...
- [每日一题] OCP1z0-047 :2013-07-30 表连接――内联视图当作表使用
用sys用户登录,给oe用户授权dba,以便可以用oe用户查看执行计划: oe@OCM> conn / as sysdba Connected. sys@OCM> grant dba to ...
- 【js】Leetcode每日一题-完成所有工作的最短时间
[js]Leetcode每日一题-完成所有工作的最短时间 [题目描述] 给你一个整数数组 jobs ,其中 jobs[i] 是完成第 i 项工作要花费的时间. 请你将这些工作分配给 k 位工人.所有工 ...
- 【JavaScript】Leetcode每日一题-二叉搜索树的范围和
[JavaScript]Leetcode每日一题-二叉搜索树的范围和 [题目描述] 给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和. 示例1: 输入: ...
- 【js】Leetcode每日一题-停在原地的方案数
[js]Leetcode每日一题-停在原地的方案数 [题目描述] 有一个长度为 arrLen 的数组,开始有一个指针在索引 0 处. 每一步操作中,你可以将指针向左或向右移动 1 步,或者停在原地(指 ...
- CISP/CISA 每日一题 12
CISA 每日一题(答) 支付系统模式有哪些: 电子现金模式:支付者不必在线,无条件不可追溯性 电子支票模式:支付者不必在线,涉及个人隐私 电子转帐模式:收款人不必在线 图象处理中,应该有适当的___ ...
- 老男孩IT教育-每日一题汇总
老男孩IT教育-每日一题汇总 第几天 第几周 日期 快速访问链接 第123天 第二十五周 2017年8月25日 出现Swap file….already exists以下错误如何解决? 第122天 2 ...
- 2013年12月26日 星期四 doxygen入门--很好
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- PL/SQL Challenge 每日一题:2014-3-14 11gR2中带RELIES_ON子句的RESULT_CACHE函数
PL/SQL Challenge 每日一题:2014-3-14 11gR2中带RELIES_ON子句的RESULT_CACHE函数 最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可 ...
随机推荐
- Dev表格导出工具类 z
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace xSof ...
- POJ 3321 Apple Tree dfs+二叉索引树
题目:http://poj.org/problem?id=3321 动态更新某个元素,并且求和,显然是二叉索引树,但是节点的标号不连续,二叉索引树必须是连续的,所以需要转化成连续的,多叉树的形状已经建 ...
- iOS 推荐博客
著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:Franz Fang链接:http://www.zhihu.com/question/20264108/answer/3026 ...
- Xcode6 Xcode7 Xcode 官方链接 --备用
Xcode 6 官方下载链接: http://adcdownload.apple.com//wwdc_2014/xcode_6_beta_ie8g3n/xcode_6_beta.dmg Xcode ...
- The CircuitCalculator.com Blog a blog with live web calculators Home About Policies Contact PCB
PCB Trace Width Calculator 转载自:CircuitCalculator.com 关键词: PCB,Layout,电流,导线宽度. This Javascript web ca ...
- 听同事讲 Bayesian statistics: Part 2 - Bayesian inference
听同事讲 Bayesian statistics: Part 2 - Bayesian inference 摘要:每天坐地铁上班是一件很辛苦的事,需要早起不说,如果早上开会又赶上地铁晚点,更是让人火烧 ...
- Metasploit渗透测试魔鬼训练营
首本中文原创Metasploit渗透测试著作,国内信息安全领域布道者和资深Metasploit渗透测试专家领衔撰写,极具权威性.以实践为导向,既详细讲解了Metasploit渗透测试的技术.流程.方法 ...
- Z-stack之OSAL初始化流程
转自点击打开链接 我使用的协议栈版本及例子信息: ZigBee2006\Texas Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Samples\Sam ...
- 【BZOJ1901】 Zju2112 Dynamic Rankings(树套树)
[题意] 给定一个含有n个数的序列a[1],a[2],a[3]--a[n], 程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]--a[j]中第k小的数是多少(1≤k ...
- 【poj3734】矩阵乘法求解
[题意] 给N个方块排成一列.现在要用红.蓝.绿.黄四种颜色的油漆给这些方块染色.求染成红色方块和染成绿色方块的个数同时为偶数的染色方案的个数,输出对10007取余后的答案.(1<=n<= ...