正确答案是: 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视图的描述哪些是正确的?的更多相关文章

  1. <2013 08 12> Andrew:C语言的一点心得

    C语言的特点在于,这是少见的中级语言(介于机器汇编和高级语言之间),因此它极其紧密地与特定机器架构.编译器.操作系统.库等基本概念相连.在底层,人们可以少量的甚至不使用汇编,但是不能不使用C.它以一种 ...

  2. [每日一题] OCP1z0-047 :2013-07-30 表连接――内联视图当作表使用

    用sys用户登录,给oe用户授权dba,以便可以用oe用户查看执行计划: oe@OCM> conn / as sysdba Connected. sys@OCM> grant dba to ...

  3. 【js】Leetcode每日一题-完成所有工作的最短时间

    [js]Leetcode每日一题-完成所有工作的最短时间 [题目描述] 给你一个整数数组 jobs ,其中 jobs[i] 是完成第 i 项工作要花费的时间. 请你将这些工作分配给 k 位工人.所有工 ...

  4. 【JavaScript】Leetcode每日一题-二叉搜索树的范围和

    [JavaScript]Leetcode每日一题-二叉搜索树的范围和 [题目描述] 给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和. 示例1: 输入: ...

  5. 【js】Leetcode每日一题-停在原地的方案数

    [js]Leetcode每日一题-停在原地的方案数 [题目描述] 有一个长度为 arrLen 的数组,开始有一个指针在索引 0 处. 每一步操作中,你可以将指针向左或向右移动 1 步,或者停在原地(指 ...

  6. CISP/CISA 每日一题 12

    CISA 每日一题(答) 支付系统模式有哪些: 电子现金模式:支付者不必在线,无条件不可追溯性 电子支票模式:支付者不必在线,涉及个人隐私 电子转帐模式:收款人不必在线 图象处理中,应该有适当的___ ...

  7. 老男孩IT教育-每日一题汇总

    老男孩IT教育-每日一题汇总 第几天 第几周 日期 快速访问链接 第123天 第二十五周 2017年8月25日 出现Swap file….already exists以下错误如何解决? 第122天 2 ...

  8. 2013年12月26日 星期四 doxygen入门--很好

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  9. PL/SQL Challenge 每日一题:2014-3-14 11gR2中带RELIES_ON子句的RESULT_CACHE函数

    PL/SQL Challenge 每日一题:2014-3-14 11gR2中带RELIES_ON子句的RESULT_CACHE函数 最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可 ...

随机推荐

  1. 和阿木聊Node.js

    npm:node.js官方库 cnpm:taobao维护的库: WebStorm:Node.js的开发工具,但是收费: seajs:还有一款交requirjs,前者是遵循amd规范(一次性参数中加载要 ...

  2. 单片微机原理P0:80C51结构原理

    本来我真的不想让51的东西出现在我的博客上的,因为51这种东西真的太low了,学了最多就所谓的垃圾科创利用一下,但是想一下这门课我也要考试,还是写一点东西顺便放博客上吧. 这一系列主要参考<单片 ...

  3. Content-Language:en-US

    工作的时候遇到需要把 Content-Language:en-US 改为 zh-CN 今天发现我们网站的页面Response Headers部分的语言显示为英语,Content-Language:en ...

  4. Unreal Engine4 蓝图讲解

    UE4开发群:344602753 Unread Engine4的界面概况: UE4的效果可以说是比较好的,从整体架构上来说,和Unity3d的逻辑架构不太 一样,发现UE4不好上手,但是从理论上考虑, ...

  5. WordPress 全方位优化指南(下)

    上一篇 WordPress 全方位性能优化指南(上)主要从网站性能指标.优化缓存.MySQL 等方面给大家介绍了如何进行 WordPress 性能优化,但还远远不够,毕竟像 WordPress 这样的 ...

  6. 【网络流24题】 No.2 太空飞行计划问题 (最大闭合权图 最大流 )

    原题:         W教授正在为国家航天中心计划一系列的太空飞行.每次太空飞行可进行一系列商业性实验而获取利润.现已确定了一个可供选择的实验集合 E={E1,E2,...,Em},和进行这些实验需 ...

  7. 使用php-emoji类让网页显示emoji表情

    需要的材料: php-emoji类库的下载地址:https://github.com/iamcal/php-emoji 代码示例:(该代码来自官网) <?php include('emoji.p ...

  8. *string++优先级的问题

    这个东西困扰了我几天,关于优先级问题确实是个恼人的东西,为了这个专门翻了C语言课本,得知 所有一目运算符都是第二级优先级 结合性是从右到左 那么*string++应该就是*(string++),也就是 ...

  9. 【Xamarin开发 Android 系列 6】 Android 结构基础(上)

    原文:[Xamarin开发 Android 系列 6] Android 结构基础(上) 前面大家已经熟悉了什么是Android,而且在 [Xamarin开发 Android 系列 4] Android ...

  10. 带圆角的EditText

    转载请注明出处:http://blog.csdn.net/krislight/article 1.定义一个Drawable <?xml version="1.0" encod ...