[每日一题] OCP1z0-047 :2013-07-29 视图――别名..........................................................18
来源:互联网 发布:各国人看中国知乎 编辑:程序博客网 时间:2024/06/06 01:37
转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/9571235
本题的考点是如何创建视图,对于视图的详细知识点,可以参考我的博客:
http://blog.csdn.net/guoyjoe/article/details/8614677
好,接下来我们来做测试,先登录到oe用户,查相关的表。
gyj@OCM> conn oe/oeConnected.oe@OCM> select table_name from tabs;TABLE_NAME------------------------------PRODUCT_REF_LIST_NESTEDTABSUBCATEGORY_REF_LIST_NESTEDTABPROMOTIONSORDERSPRODUCT_DESCRIPTIONSWAREHOUSESPRODUCT_INFORMATIONORDER_ITEMSCUSTOMERSINVENTORIES10 rows selected.
一、答案A,很明显是错的,视图的字段与表的字段的个数不一样,操作如下报错:
oe@OCM> CREATE OR REPLACE VIEW ord_vu(order_id,order_date) 2 AS SELECT o.order_id,o.order_date,COUNT(i.line_item_id) "NO OF ITEMS" FROM orders o JOIN order_items i ON(o.order_id=i.order_id) 3 GROUP BY o.order_id,o.order_date;CREATE OR REPLACE VIEW ord_vu(order_id,order_date) *ERROR at line 1:ORA-01730: invalid number of column names specified在CREATE OR REPLACE VIEW ord_vu(order_id,order_date,ct)添加一列CT,操作如下就没问题:oe@OCM> CREATE OR REPLACE VIEW ord_vu(order_id,order_date,ct) 2 AS SELECT o.order_id,o.order_date,COUNT(i.line_item_id) "NO OF ITEMS" FROM orders o JOIN order_items i ON(o.order_id=i.order_id) 3 GROUP BY o.order_id,o.order_date;View created.
二、答案B是正确的,把视图定义的列名去掉,视图默认这些列名来自select中的显示的列,操作如下:
oe@OCM> CREATE OR REPLACE VIEW ord_vu 2 AS SELECT o.order_id,o.order_date,COUNT(i.line_item_id) "NO OF ITEMS" FROM orders o JOIN order_items i ON(o.order_id=i.order_id) 3 GROUP BY o.order_id,o.order_date;View created.oe@OCM> select * from ord_vu; ORDER_ID ORDER_DATE NO OF ITEMS---------- --------------------------------------------------------------------------- ----------- 2354 15-JUL-08 08.18.23.234567 AM 13 2361 14-NOV-07 05.34.21.986210 AM 9 2363 24-OCT-07 07.49.56.346122 AM 9 2367 28-JUN-08 11.53.32.335522 AM 8省略结果。。。。。。。。。。。。。。。
三、答案C是错的,在创建视图时,对这种使用各种函数,或运算表达式的列,一定要起别名,如没有别名视图创建就会失败,操作如下:
oe@OCM> CREATE OR REPLACE VIEW ord_vu 2 AS SELECT o.order_id,o.order_date,COUNT(i.line_item_id) FROM orders o JOIN order_items i ON(o.order_id=i.order_id) 3 GROUP BY o.order_id,o.order_date;AS SELECT o.order_id,o.order_date,COUNT(i.line_item_id) FROM orders o JOIN order_items i ON(o.order_id=i.order_id) *ERROR at line 2:ORA-00998: must name this expression with a column alias把上面的视图改成如下:oe@OCM> CREATE OR REPLACE VIEW ord_vu 2 AS SELECT o.order_id,o.order_date,COUNT(i.line_item_id) CT FROM orders o JOIN order_items i ON(o.order_id=i.order_id) 3 GROUP BY o.order_id,o.order_date;View created.
四、答案D也是错的,错误与答案C一个问题
oe@OCM> CREATE OR REPLACE VIEW ord_vu 2 AS SELECT o.order_id,o.order_date,COUNT(i.line_item_id)||'NO OF ITEMS' FROM orders o JOIN order_items i ON(o.order_id=i.order_id) 3 GROUP BY o.order_id,o.order_date 4 WITH CHECK OPTION;AS SELECT o.order_id,o.order_date,COUNT(i.line_item_id)||'NO OF ITEMS' FROM orders o JOIN order_items i ON(o.order_id=i.order_id) *ERROR at line 2:ORA-00998: must name this expression with a column alias 把上面的视图改成如下:oe@OCM> CREATE OR REPLACE VIEW ord_vu 2 AS SELECT o.order_id,o.order_date,COUNT(i.line_item_id)||'NO OF ITEMS' CT FROM orders o JOIN order_items i ON(o.order_id=i.order_id) 3 GROUP BY o.order_id,o.order_date 4 WITH CHECK OPTION;View created.
正确答案:B
结总:
在创建视图时,对这种使用各种函数,或运算表达式的列,一定要起别名,如没有别名视图创建就会失败。
定义视图的列名可以省略,来自SELECT定义中的列名,如果定义视图的列名不省略,那个列的个数与SELECT定义中的列的个数要一致。
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-07-29 视图――别名..........................................................18
- [每日一题] OCP1z0-047 :2013-07-30 表连接――内联视图当作表使用....................................19
- [每日一题] OCP1z0-047 :2013-07-25 权限――角色与对象权限.............................................14
- [每日一题] OCP1z0-047 :2013-07-31 扩展GROUP BY分组――ROLLUP..............................20
- [每日一题] OCP1z0-047 :2013-07-17 基本概念:同义词、动态性能视图、数据字典视图............6
- [每日一题] OCP1z0-047 :2013-08-29 NULL............................................................168
- [每日一题] OCP1z0-047 :2013-08-02 权限―――分配系统权限............................................22
- [每日一题] OCP1z0-047 :2013-08-03 约束―――延迟约束....................................................23
- [每日一题] OCP1z0-047 :2013-08-05 SELECT语句――列的表达式.....................................25
- [每日一题] OCP1z0-047 :2013-08-06 外表部――相关描述......................................................26
- [每日一题] OCP1z0-047 :2013-08-17 EXTERNAL TABLE――加载数据 ............................56
- [每日一题] OCP1z0-047 :2013-08-20 GROUP BY扩展――GROUPING、ROLLUP.....................88
- [每日一题] OCP1z0-047 :2013-07-18 时间格式................................................................7
- [每日一题] OCP1z0-047 :2013-07-19 Rules of Precedence――括号的使用.................8
- [每日一题] OCP1z0-047 :2013-07-21 子查询――多字段的顺序..............................................10
- [每日一题] OCP1z0-047 :2013-07-27 外部表――不能被DML和建索引...................................16
- [每日一题] OCP1z0-047 :2013-07-28 多表插入――pivoting insert(旋转插入)....................17
- [每日一题] OCP1z0-047 :2013-08-18 禁用启用约束――主键与外键 ..................................61
- zoj 3687 The Review Plan I
- 我的第一篇博客
- Compass: 在你的应用中集成搜索功能
- 第二章总结(寄存器)
- 我的网站百度为什么不收录
- [每日一题] OCP1z0-047 :2013-07-29 视图――别名..........................................................18
- PHP 大小写转换
- 深入探索C++对象模型--详解深拷贝与浅拷贝以及拷贝构造的建构
- 如何查看JSP和Servlet版本
- 如何构建编译TWRP touch recovery
- [leetcode]Spiral Matrix
- 一笔可以画完的图
- HSRP 配置 案例
- 标识分组的函数:group_id(),grouping(),grouping_id()