[每日一题] OCP1z0-047 :2013-08-12 view视图的描述哪些是正确的?...............................32
来源:互联网 发布:狩猎者安全防护软件 编辑:程序博客网 时间:2024/05/29 18:32
l转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/9937691
正确答案是: CE
这是OCP教材中的:
1、简单视图与复杂视图的定义:
2、复杂视图通常不能被DML:
3、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 existgyj@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 75009 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的行,可以成功插入:
1 row created.
其他的更新、删除我就不再试了,只要DML的结果满足SALARY大于等7000,DML就可以正常进行。
详细操作可以参考:
http://blog.csdn.net/guoyjoe/article/details/8614677
QQ:252803295
学习交流QQ群:
DSI&Core Search Ⅰ 群:127149411(技术:已满)
DSI&Core Search Ⅱ 群:177089463(技术:未满)
DSI&Core Search Ⅲ 群:284596437(技术:未满)
DSI&Core Search Ⅳ 群:192136702(技术:未满)
DSI&Core Search Ⅴ 群:285030382(闲聊:未满)
MAIL:oracledba_cn@hotmail.com
BLOG: http://blog.csdn.net/guoyjoe
WEIBO:http://weibo.com/guoyJoe0218
ITPUB: http://www.itpub.net/space-uid-28460966.html
OCM: http://education.oracle.com/education/otn/YGuo.HTM
- [每日一题] OCP1z0-047 :2013-08-12 view视图的描述哪些是正确的?...............................32
- [每日一题] OCP1z0-047 :2013-08-06 外表部――相关描述......................................................26
- [每日一题] OCP1z0-047 :2013-08-11 描述层次查询(hierarchical query)........................31
- [每日一题] OCP1z0-047 :2013-08-15 描述GROUPING 函数 .......................................43
- [每日一题] OCP1z0-047 :2013-08-08 相关子查询中EXISTS的使用.....................................28
- [每日一题] OCP1z0-047 :2013-08-05 SELECT语句――列的表达式.....................................25
- [每日一题] OCP1z0-047 :2013-08-09 非相关子查询的定义................................................29
- [每日一题] OCP1z0-047 :2013-08-16 merge的用法....................................................45
- [每日一题] OCP1z0-047 :2013-08-28 DELETE..........................................................160
- [每日一题] OCP1z0-047 :2013-08-29 NULL............................................................168
- [每日一题] OCP1z0-047 :2013-07-29 视图――别名..........................................................18
- [每日一题] OCP1z0-047 :2013-07-20 序列MINVALUE的默认值是多少?.....................................9
- [每日一题] OCP1z0-047 :2013-07-17 基本概念:同义词、动态性能视图、数据字典视图............6
- [每日一题] OCP1z0-047 :2013-07-30 表连接――内联视图当作表使用....................................19
- [每日一题] OCP1z0-047 :2013-07-19 Rules of Precedence――括号的使用.................8
- [每日一题] OCP1z0-047 :2013-07-21 子查询――多字段的顺序..............................................10
- [每日一题] OCP1z0-047 :2013-08-01 正则表达式--- REGEXP_REPLACE 函数.......................21
- [每日一题] OCP1z0-047 :2013-08-02 权限―――分配系统权限............................................22
- 原生Javascript操作DOM的一些常用方法集合
- Apache负载均衡的三大规则
- 追寻我的梦
- HTML中form标签
- 14. 代码审查
- [每日一题] OCP1z0-047 :2013-08-12 view视图的描述哪些是正确的?...............................32
- objective-c 参考学习资料---来自台湾海峡兄弟
- 【C基础】动态内存分配
- umask函数笔记
- UNIX操作系统
- <C++沉思录>学习笔记
- ubuntu command for me
- 二叉树遍历方式之间的关系(递归)
- boost库