[每日一题] OCP1z0-047 :2013-07-27 外部表――不能被DML和建索引
首先看官方文档上的解释:
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) 建目录
sys@OCM> create directory dir_gyj as '/home/oracle'; Directory created. sys@OCM> grant read,write on directory dir_gyj to gyj; Grant succeeded.
(3)创建外部表
gyj@OCM> CREATE TABLE ext_gyj_costs
2 (
3 "CHANNEL_ID" NUMBER,
4 "PROD_ID" NUMBER,
5 "PROMO_ID" NUMBER,
6 "TIME_ID" NUMBER,
7 "UNIT_COST" NUMBER,
8 "UNIT_PRICE" NUMBER
9 )
10 ORGANIZATION external
11 (
12 TYPE oracle_loader
13 DEFAULT DIRECTORY dir_gyj
14 ACCESS PARAMETERS
15 (
16 FIELDS TERMINATED BY "," LDRTRIM
17 REJECT ROWS WITH ALL NULL FIELDS
18 (
19 "CHANNEL_ID" CHAR(255)
20 TERMINATED BY ",",
21 "PROD_ID" CHAR(255)
22 TERMINATED BY ",",
23 "PROMO_ID" CHAR(255)
24 TERMINATED BY ",",
25 "TIME_ID" CHAR(255)
26 TERMINATED BY ",",
27 "UNIT_COST" CHAR(255)
28 TERMINATED BY ",",
29 "UNIT_PRICE" CHAR(255)
30 TERMINATED BY ","
31 )
32 )
33 location
34 (
35 'prod_master.dat'
36 )
37 )REJECT LIMIT UNLIMITED; Table created. gyj@OCM> select * from ext_gyj_costs; CHANNEL_ID PROD_ID PROMO_ID TIME_ID UNIT_COST UNIT_PRICE
---------- ---------- ---------- ---------- ---------- ----------
6 6 6 6 6 600
7 7 7 7 7 700
2、 对外部表做DML,操作如下,说明外部表不支持DML
gyj@OCM> Update ext_gyj_costs set UNIT_PRICE=800 where channel_id=6;
Update ext_gyj_costs set UNIT_PRICE=800 where channel_id=6
*
ERROR at line 1:
ORA-30657: operation not supported on external organized table gyj@OCM> delete from ext_gyj_costs where channel_id=6;
delete from ext_gyj_costs where channel_id=6
*
ERROR at line 1:
ORA-30657: operation not supported on external organized table
3、 在外部表上建视图和同义词
gyj@OCM> Create view v_cost as select * from ext_gyj_costs; View created. gyj@OCM> select * from v_cost; CHANNEL_ID PROD_ID PROMO_ID TIME_ID UNIT_COST UNIT_PRICE
---------- ---------- ---------- ---------- ---------- ----------
6 6 6 6 6 600
7 7 7 7 7 700 gyj@OCM> create synonym s_cost for ext_gyj_costs; Synonym created. gyj@OCM> select * from s_cost; CHANNEL_ID PROD_ID PROMO_ID TIME_ID UNIT_COST UNIT_PRICE
---------- ---------- ---------- ---------- ---------- ----------
6 6 6 6 6 600
7 7 7 7 7 700
4、 对外部表建索引,不支操作
gyj@OCM> create index idx_chaannel_id on ext_gyj_costs(channel_id);
create index idx_chaannel_id on ext_gyj_costs(channel_id)
*
ERROR at line 1:
ORA-30657: operation not supported on external organized table
总结:外部表除了可以select(查询)、建视图,同义词,其它操作如DML,建索引等都不支持。
正确答案:C
[每日一题] OCP1z0-047 :2013-07-27 外部表――不能被DML和建索引的更多相关文章
- 【鬼畜】UVA - 401每日一题·猛男就是要暴力打表
管他什么rev数组,msg数组简化代码 #define _CRT_SECURE_NO_WARNINGS #include <cmath> #include <iostream> ...
- 老男孩IT教育-每日一题汇总
老男孩IT教育-每日一题汇总 第几天 第几周 日期 快速访问链接 第123天 第二十五周 2017年8月25日 出现Swap file….already exists以下错误如何解决? 第122天 2 ...
- PL/SQL Challenge 每日一题:2014-3-14 11gR2中带RELIES_ON子句的RESULT_CACHE函数
PL/SQL Challenge 每日一题:2014-3-14 11gR2中带RELIES_ON子句的RESULT_CACHE函数 最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可 ...
- 【剑指Offer】简单部分每日五题 - Day 1
今天开始更新leetcode上<剑指Offer>的题解,先从简单难度开始.预计按下列顺序更新: 简单难度:每日5题 中等难度:每日3题 困难难度:每日1题 17 - 打印从1到最大的n位数 ...
- LeetCode 每日一题「判定字符是否唯一」
我是陈皮,一个在互联网 Coding 的 ITer,微信搜索「陈皮的JavaLib」第一时间阅读最新文章,回复[资料],即可获得我精心整理的技术资料,电子书籍,一线大厂面试资料和优秀简历模板. 题目 ...
- 【Java每日一题】20170106
20170105问题解析请点击今日问题下方的"[Java每日一题]20170106"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- 【Java每日一题】20170105
20170104问题解析请点击今日问题下方的"[Java每日一题]20170105"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- 【Java每日一题】20170104
20170103问题解析请点击今日问题下方的"[Java每日一题]20170104"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- 【Java每日一题】20170103
20161230问题解析请点击今日问题下方的"[Java每日一题]20170103"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
随机推荐
- CSS3 之 box-shadow
1. css3 box-shadow CSS3的box-shadow属性可以让我们轻松实现图层阴影效果 box-shadow: inset(可选 默认没有) x-offset y-offset ...
- sqlite命令
.databases //显示所有数据库 .tables //显示所有表 .schema test //显示创建 test 表的 sql 语句 )备份和还原数据库 .backup E:/db/Stud ...
- Dev GridControl,GridView 显示多行文本及合并相同单元格
显示多行文本的方法 首先把gridcontrol的views的Optionsview里的RowAutoHeight设置为True 在In-place Editor Repository 里添加 Mem ...
- C# 导出Excel 多个Sheet
以下代码中最关键的代码是 Worksheet mSheet = (Microsoft.Office.Interop.Excel.Worksheet)mBook.Worksheets.Add(miss, ...
- WebApi2官网学习记录---OData中的查询
EMD安全 查询语法是基于entity data model(EDM),不是基于底层的model类型,可以从EDM排除一个属性,这样这个属性在client就不能被查询了. 有两种方式可以从EDM中排除 ...
- static \ const \ volatile 的含义
1.static 在函数体内,一个被声明为静态的变量在这一函数被调用的过程中维持其值不变 在模块内(函数体外),一个被声明为静态的变量可以被模块内的所有函数访问,但不能被模块外的其他函数访问,即它是一 ...
- Java图片工具类,完成图片的截取和任意缩放
package com.common.util; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Renderin ...
- 后缀自动机/回文自动机/AC自动机/序列自动机----各种自动机(自冻鸡) 题目泛做
题目1 BZOJ 3676 APIO2014 回文串 算法讨论: cnt表示回文自动机上每个结点回文串出现的次数.这是回文自动机的定义考查题. #include <cstdlib> #in ...
- C语言中的结构体和C++中的结构体以及C++中类的区别
c++中结构体可以定义一个函数 C中的结构体和C++中结构体的不同之处:在C中的结构体只能自定义数据类型,结构体中不允许有函数,而C++中的结构体可以加入成员函数. C++中的结构体和类的异同: 一. ...
- 【Nutch2.3基础教程】集成Nutch/Hadoop/Hbase/Solr构建搜索引擎:安装及运行【集群环境】
1.下载相关软件,并解压 版本号如下: (1)apache-nutch-2.3 (2) hadoop-1.2.1 (3)hbase-0.92.1 (4)solr-4.9.0 并解压至/opt/jedi ...