首先看官方文档上的解释:

Managing External Tables

Oracle Database allows you read-only access to data in external tables. External tables are definedas tables that do not reside in the database, and can be in any format forwhich an access driver is provided. By providing the database with metadatadescribing an external table, the database is able to expose the data in theexternal table as if it were data residing in a regular database table. Theexternal data can be queried directly and in parallel using SQL.

You can, for example, select, join, or sort externaltable data. You can also create views and synonyms for external tables.However, no DML operations (UPDATE, INSERT, or DELETE) are possible, and no indexes can be created, on external tables.

External tables also provide a framework to unload theresult of an arbitrary SELECT statement into aplatform-independent Oracle-proprietary format that can be used by Oracle DataPump.

实验测试:

1、 创建一个外部表

(1)元数据:

[oracle@mydb ~]$more prod_master.dat

6,6,6,6,6,600

7,7,7,7,7,700

(2) 建目录

  1. sys@OCM> create directory dir_gyj as '/home/oracle';
  2.  
  3. Directory created.
  4.  
  5. sys@OCM> grant read,write on directory dir_gyj to gyj;
  6.  
  7. Grant succeeded.

(3)创建外部表

  1. gyj@OCM> CREATE TABLE ext_gyj_costs
  2. 2 (
  3. 3 "CHANNEL_ID" NUMBER,
  4. 4 "PROD_ID" NUMBER,
  5. 5 "PROMO_ID" NUMBER,
  6. 6 "TIME_ID" NUMBER,
  7. 7 "UNIT_COST" NUMBER,
  8. 8 "UNIT_PRICE" NUMBER
  9. 9 )
  10. 10 ORGANIZATION external
  11. 11 (
  12. 12 TYPE oracle_loader
  13. 13 DEFAULT DIRECTORY dir_gyj
  14. 14 ACCESS PARAMETERS
  15. 15 (
  16. 16 FIELDS TERMINATED BY "," LDRTRIM
  17. 17 REJECT ROWS WITH ALL NULL FIELDS
  18. 18 (
  19. 19 "CHANNEL_ID" CHAR(255)
  20. 20 TERMINATED BY ",",
  21. 21 "PROD_ID" CHAR(255)
  22. 22 TERMINATED BY ",",
  23. 23 "PROMO_ID" CHAR(255)
  24. 24 TERMINATED BY ",",
  25. 25 "TIME_ID" CHAR(255)
  26. 26 TERMINATED BY ",",
  27. 27 "UNIT_COST" CHAR(255)
  28. 28 TERMINATED BY ",",
  29. 29 "UNIT_PRICE" CHAR(255)
  30. 30 TERMINATED BY ","
  31. 31 )
  32. 32 )
  33. 33 location
  34. 34 (
  35. 35 'prod_master.dat'
  36. 36 )
  37. 37 )REJECT LIMIT UNLIMITED;
  38.  
  39. Table created.
  40.  
  41. gyj@OCM> select * from ext_gyj_costs;
  42.  
  43. CHANNEL_ID PROD_ID PROMO_ID TIME_ID UNIT_COST UNIT_PRICE
  44. ---------- ---------- ---------- ---------- ---------- ----------
  45. 6 6 6 6 6 600
  46. 7 7 7 7 7 700

2、   对外部表做DML,操作如下,说明外部表不支持DML

  1. gyj@OCM> Update ext_gyj_costs set UNIT_PRICE=800 where channel_id=6;
  2. Update ext_gyj_costs set UNIT_PRICE=800 where channel_id=6
  3. *
  4. ERROR at line 1:
  5. ORA-30657: operation not supported on external organized table
  6.  
  7. gyj@OCM> delete from ext_gyj_costs where channel_id=6;
  8. delete from ext_gyj_costs where channel_id=6
  9. *
  10. ERROR at line 1:
  11. ORA-30657: operation not supported on external organized table

3、  在外部表上建视图和同义词

  1. gyj@OCM> Create view v_cost as select * from ext_gyj_costs;
  2.  
  3. View created.
  4.  
  5. gyj@OCM> select * from v_cost;
  6.  
  7. CHANNEL_ID PROD_ID PROMO_ID TIME_ID UNIT_COST UNIT_PRICE
  8. ---------- ---------- ---------- ---------- ---------- ----------
  9. 6 6 6 6 6 600
  10. 7 7 7 7 7 700
  11.  
  12. gyj@OCM> create synonym s_cost for ext_gyj_costs;
  13.  
  14. Synonym created.
  15.  
  16. gyj@OCM> select * from s_cost;
  17.  
  18. CHANNEL_ID PROD_ID PROMO_ID TIME_ID UNIT_COST UNIT_PRICE
  19. ---------- ---------- ---------- ---------- ---------- ----------
  20. 6 6 6 6 6 600
  21. 7 7 7 7 7 700

4、 对外部表建索引,不支操作

  1. gyj@OCM> create index idx_chaannel_id on ext_gyj_costs(channel_id);
  2. create index idx_chaannel_id on ext_gyj_costs(channel_id)
  3. *
  4. ERROR at line 1:
  5. ORA-30657: operation not supported on external organized table

总结:外部表除了可以select(查询)、建视图,同义词,其它操作如DML,建索引等都不支持。

正确答案:C

[每日一题] OCP1z0-047 :2013-07-27 外部表――不能被DML和建索引的更多相关文章

  1. 【鬼畜】UVA - 401每日一题·猛男就是要暴力打表

    管他什么rev数组,msg数组简化代码 #define _CRT_SECURE_NO_WARNINGS #include <cmath> #include <iostream> ...

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

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

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

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

  4. 【剑指Offer】简单部分每日五题 - Day 1

    今天开始更新leetcode上<剑指Offer>的题解,先从简单难度开始.预计按下列顺序更新: 简单难度:每日5题 中等难度:每日3题 困难难度:每日1题 17 - 打印从1到最大的n位数 ...

  5. LeetCode 每日一题「判定字符是否唯一」

    我是陈皮,一个在互联网 Coding 的 ITer,微信搜索「陈皮的JavaLib」第一时间阅读最新文章,回复[资料],即可获得我精心整理的技术资料,电子书籍,一线大厂面试资料和优秀简历模板. 题目 ...

  6. 【Java每日一题】20170106

    20170105问题解析请点击今日问题下方的"[Java每日一题]20170106"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

  7. 【Java每日一题】20170105

    20170104问题解析请点击今日问题下方的"[Java每日一题]20170105"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

  8. 【Java每日一题】20170104

    20170103问题解析请点击今日问题下方的"[Java每日一题]20170104"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

  9. 【Java每日一题】20170103

    20161230问题解析请点击今日问题下方的"[Java每日一题]20170103"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

随机推荐

  1. LR翻页脚本并在每页实现业务操作

    性能需求:在列表中删除后有记录,或对列表中的每条记录进行操作(如点击每条记录的“单号”进入订单详情页面,或在列表中对每条记录进行“启用”.“停止”操作) 举例:Vuser脚本模拟用户在订单列表中点击每 ...

  2. cookie 的Domain删除失败的问题

    最近接手一个老项目,项目中使用的是cookie来做的处理的,新增的时候cookie添加了域, 但是删除的时候没有添加域,导致删除cookie的时候一直失败!还有cookie的创建与删除,应该都必需经过 ...

  3. android码农神器 偷懒工具 android懒人框架 LoonAndroid 3 讲解

    LoonAndroid 3.0 Loonandroid是一个注解框架,不涉及任何UI效果,目的是一个功能一个方法,以方法为最小颗粒度对功能进行拆解.把功能傻瓜化,简单化,去掉重复性的代码,隐藏复杂的实 ...

  4. 整理的sql sever一些数据库查询面试题

    当然,我整理的只是一些常见的面试题,具体数据库就不给了,相信大家能看懂!!! --2列出EMPLOYEES表中各部门的部门号,最高工资,最低工资 select Max(salary) as '最高工资 ...

  5. gitosis随记

    0.创建git用户 useradd -m git passwd git 1.安装脚本工具(gitosis依赖python) apt-get install python-setuptools 2.gi ...

  6. java必备基础知识(一)

    学习的一点建议: 每一门语言的学习都要从基础知识开始,学习是一个过程,"万丈高楼平地起",没有一个好的地基,想必再豪华的高楼大厦终究有一天会倒塌.因此,我们学习知识也要打牢根基,厚 ...

  7. eclipse 将文件夹作为sourcefolder

    文件夹---右键

  8. 字符串:各种奇葩的内置方法 - 零基础入门学习Python014

    字符串:各种奇葩的内置方法 让编程改变世界 Change the world by program 字符串:各种奇葩的内置方法 或许现在又回过头来谈字符串,有些朋友可能会觉得没必要,也有些朋友会觉得不 ...

  9. javascript if 和else 语句练习

    1.标准体重://男士体重=身高-100±3<br />//女士体重=身高-110±3<br />//输入性别.身高.体重,查看体重是否标准. <script type= ...

  10. XJOI网上同步训练DAY2 T2

    [问题描述] 火车司机出秦川跳蚤国王下江南共价大爷游长沙.每个周末勤劳的共价大爷都会开车游历长沙市. 长沙市的交通线路可以抽象成为一个