- 浏览: 786588 次
- 性别:
- 来自: 广州
文章分类
最新评论
oracle外部表是只允许只读访问,不能进行DML操作,不能创建索引,可以对外部表进行的查询,连接,排序,创建视图和创建同义词操作。
you can select, join, or sort external table 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.
Oracle Database provides two access drivers for external tables. The default access driver is ORACLE_LOADER, which allows the reading of data from external files using the Oracle loader technology. The ORACLE_LOADER access driver provides data mapping capabilities which are a subset of the control file syntax of SQL*Loader utility. The second access driver, ORACLE_DATAPUMP, lets you unload data--that is, read data from the database and insert it into an external table, represented by one or more external files--and then reload it into an Oracle Database.
EXAMPLE: Creating an External Table and Loading Data
The file empxt1.dat contains the following sample data:
360,Jane,Janus,ST_CLERK,121,17-MAY-2001,3000,0,50,jjanus
361,Mark,Jasper,SA_REP,145,17-MAY-2001,8000,.1,80,mjasper
362,Brenda,Starr,AD_ASST,200,17-MAY-2001,5500,0,10,bstarr
363,Alex,Alda,AC_MGR,145,17-MAY-2001,9000,.15,80,aalda
The file empxt2.dat contains the following sample data:
401,Jesse,Cromwell,HR_REP,203,17-MAY-2001,7000,0,40,jcromwel
402,Abby,Applegate,IT_PROG,103,17-MAY-2001,9000,.2,60,aapplega
403,Carol,Cousins,AD_VP,100,17-MAY-2001,27000,.3,90,ccousins
404,John,Richardson,AC_ACCOUNT,205,17-MAY-2001,5000,0,110,jrichard
The following hypothetical SQL statements create an external table in the hr schema named admin_ext_employees and load its data into the hr.employees table.
CONNECT / AS SYSDBA;
-- Set up directories and grant access to hr
CREATE OR REPLACE DIRECTORY admin_dat_dir
AS '/flatfiles/data';
CREATE OR REPLACE DIRECTORY admin_log_dir
AS '/flatfiles/log';
CREATE OR REPLACE DIRECTORY admin_bad_dir
AS '/flatfiles/bad';
GRANT READ ON DIRECTORY admin_dat_dir TO hr;
GRANT WRITE ON DIRECTORY admin_log_dir TO hr;
GRANT WRITE ON DIRECTORY admin_bad_dir TO hr;
-- hr connects
CONNECT hr/hr
-- create the external table
CREATE TABLE admin_ext_employees
(employee_id NUMBER(4),
first_name VARCHAR2(20),
last_name VARCHAR2(25),
job_id VARCHAR2(10),
manager_id NUMBER(4),
hire_date DATE,
salary NUMBER(8,2),
commission_pct NUMBER(2,2),
department_id NUMBER(4),
email VARCHAR2(25)
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY admin_dat_dir
ACCESS PARAMETERS
(
records delimited by newline
badfile admin_bad_dir:'empxt%a_%p.bad'
logfile admin_log_dir:'empxt%a_%p.log'
fields terminated by ','
missing field values are null
( employee_id, first_name, last_name, job_id, manager_id,
hire_date char date_format date mask "dd-mon-yyyy",
salary, commission_pct, department_id, email
)
)
LOCATION ('empxt1.dat', 'empxt2.dat')
)
PARALLEL
REJECT LIMIT UNLIMITED;
-- enable parallel for loading (good if lots of data to load)
ALTER SESSION ENABLE PARALLEL DML;
-- load the data in hr employees table
INSERT INTO employees (employee_id, first_name, last_name, job_id, manager_id,
hire_date, salary, commission_pct, department_id, email)
SELECT * FROM admin_ext_employees;
上面REJECT LIMIT UNLIMITED 表示能接受的错误数不限制。默认是0个。
you can select, join, or sort external table 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.
Oracle Database provides two access drivers for external tables. The default access driver is ORACLE_LOADER, which allows the reading of data from external files using the Oracle loader technology. The ORACLE_LOADER access driver provides data mapping capabilities which are a subset of the control file syntax of SQL*Loader utility. The second access driver, ORACLE_DATAPUMP, lets you unload data--that is, read data from the database and insert it into an external table, represented by one or more external files--and then reload it into an Oracle Database.
EXAMPLE: Creating an External Table and Loading Data
The file empxt1.dat contains the following sample data:
360,Jane,Janus,ST_CLERK,121,17-MAY-2001,3000,0,50,jjanus
361,Mark,Jasper,SA_REP,145,17-MAY-2001,8000,.1,80,mjasper
362,Brenda,Starr,AD_ASST,200,17-MAY-2001,5500,0,10,bstarr
363,Alex,Alda,AC_MGR,145,17-MAY-2001,9000,.15,80,aalda
The file empxt2.dat contains the following sample data:
401,Jesse,Cromwell,HR_REP,203,17-MAY-2001,7000,0,40,jcromwel
402,Abby,Applegate,IT_PROG,103,17-MAY-2001,9000,.2,60,aapplega
403,Carol,Cousins,AD_VP,100,17-MAY-2001,27000,.3,90,ccousins
404,John,Richardson,AC_ACCOUNT,205,17-MAY-2001,5000,0,110,jrichard
The following hypothetical SQL statements create an external table in the hr schema named admin_ext_employees and load its data into the hr.employees table.
CONNECT / AS SYSDBA;
-- Set up directories and grant access to hr
CREATE OR REPLACE DIRECTORY admin_dat_dir
AS '/flatfiles/data';
CREATE OR REPLACE DIRECTORY admin_log_dir
AS '/flatfiles/log';
CREATE OR REPLACE DIRECTORY admin_bad_dir
AS '/flatfiles/bad';
GRANT READ ON DIRECTORY admin_dat_dir TO hr;
GRANT WRITE ON DIRECTORY admin_log_dir TO hr;
GRANT WRITE ON DIRECTORY admin_bad_dir TO hr;
-- hr connects
CONNECT hr/hr
-- create the external table
CREATE TABLE admin_ext_employees
(employee_id NUMBER(4),
first_name VARCHAR2(20),
last_name VARCHAR2(25),
job_id VARCHAR2(10),
manager_id NUMBER(4),
hire_date DATE,
salary NUMBER(8,2),
commission_pct NUMBER(2,2),
department_id NUMBER(4),
email VARCHAR2(25)
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY admin_dat_dir
ACCESS PARAMETERS
(
records delimited by newline
badfile admin_bad_dir:'empxt%a_%p.bad'
logfile admin_log_dir:'empxt%a_%p.log'
fields terminated by ','
missing field values are null
( employee_id, first_name, last_name, job_id, manager_id,
hire_date char date_format date mask "dd-mon-yyyy",
salary, commission_pct, department_id, email
)
)
LOCATION ('empxt1.dat', 'empxt2.dat')
)
PARALLEL
REJECT LIMIT UNLIMITED;
-- enable parallel for loading (good if lots of data to load)
ALTER SESSION ENABLE PARALLEL DML;
-- load the data in hr employees table
INSERT INTO employees (employee_id, first_name, last_name, job_id, manager_id,
hire_date, salary, commission_pct, department_id, email)
SELECT * FROM admin_ext_employees;
上面REJECT LIMIT UNLIMITED 表示能接受的错误数不限制。默认是0个。
发表评论
-
Oracle 10g 的clusterware 32位 下载地址
2013-04-19 23:03 1215Oracle 10g 的clusterware 32位 下载地 ... -
oracle 分析函数 RANK()
2013-04-11 00:05 1102RANK()既是一个聚合函数,也是一个分析函数 其具体的语法 ... -
oracle 分析函数
2013-04-09 23:25 1178分析函数是用于计算一组中多行的聚合值,与聚合函数的区别在于聚合 ... -
批量执行 bulk collect与forall用法
2013-04-08 23:49 1395BULK COLLECT 子句会批量检 ... -
pl/sql集合类型
2013-03-26 10:12 1578--集合类型 /* 单行单列的数据,使用标量变量 单行 ... -
oracle 行链接与行迁移
2013-03-16 01:06 1105表里的一行对于一个数据块太大的情况有二种(一行在一个数据块里放 ... -
oracle Health Monitor
2013-01-20 00:02 1615About Health Monitor Beginning ... -
oracle moving window size与 AWR retention period关系
2013-01-19 15:58 8489转自: http://tomszrp.itpub.net/po ... -
Oracle11.2新特性之INSERT提示IGNORE_ROW_ON_DUPKEY_INDEX
2013-01-12 00:20 2918insert提示IGNORE_ROW_ON_DUPKEY_IN ... -
oracle 11g新特性Flashback data archive
2013-01-09 22:52 30871. 什么是flashback data archive F ... -
RMAN List和report 命令
2012-12-25 00:07 2901LIST 命令 使用RMAN LIST 命令显示有关资料档案库 ... -
oracle ASM中ASM_POWER_LIMIT参数
2012-12-24 23:46 6432ASM_POWER_LIMIT 该初始化参数用于指定ASM例程 ... -
oracle I/O 从属进程
2012-12-24 23:24 1430I/O 从属进程 I/O从 ... -
easy connect 之 ORA-12154: TNS: 无法解析指定的连接标识符
2012-12-19 23:43 5643用easy connect连接出现“tns无法解析指定的连接标 ... -
Flashback Database --闪回数据库
2012-12-19 23:38 1393Flashback 技术是以Undo segment中的内容为 ... -
Oracle 11g新特性:Automatic Diagnostic Repository
2012-12-19 22:35 1396Oracle Database 11g的FDI(Fault D ... -
RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系
2012-12-19 22:09 2702RMAN配置中通道(CHANNEL)相 ... -
oracle 空间RESUMABLE
2012-12-14 22:05 3063空间RESUMABLE操作 转 Oracle从9i开始 ... -
oracle 创建视图 with check option
2012-12-13 23:14 1533我们来看下面的例子: create or replace vi ... -
flashback transaction闪回事务查询
2012-11-26 22:00 1506闪回事务查询有别于闪回查询的特点有以下3个: (1) ...
相关推荐
下面我们将深入探讨Oracle外部表的创建、使用以及相关的关键知识点。 ### 一、创建外部表 外部表的创建主要通过`CREATE TABLE`语句,加上`ORGANIZATION EXTERNAL`子句来实现。以下是一个创建外部表的基本语法: `...
### Oracle 外部表知识点详解 #### 一、外部表的概念及特性 ...总之,Oracle外部表为用户提供了一种高效且灵活的方式来处理文件系统中的数据,减少了数据传输和转换的时间成本,提高了数据处理效率。
"Oracle 外部表(External table)" Oracle 外部表(External table)是一种特殊的表类型,它允许 Oracle 数据库将一个普通的文本格式的操作系统文件看作是一个数据库表,可以象普通表一样进行 select 操作,可以建...
综上所述,Oracle外部表的使用涉及到元数据的定义、外部数据文件的格式和内容、以及数据迁移工具ORACLE_DATAPUMP和SQLLDR的配置与使用。在实际操作中,还需注意数据库版本间的兼容性问题,以及操作系统和Oracle...
### 关于ORACLE外部表的使用方法 #### 一、Oracle外部表简介 在Oracle数据库中,外部表(External Table)是一种特殊的表类型,它允许用户通过标准的SQL语句来查询存储在文件系统中的数据,而无需将这些数据加载到...
### Oracle外部表特性深入浅出 #### 一、外部表概述 外部表是Oracle自9i版本后引入的一个新特性,它不同于传统意义上的数据库表,实际上并不存储在数据库内部,而是指向操作系统中的某个文件。通过定义外部表的元...
综上所述,Oracle外部表为数据库用户提供了一种高效、灵活的方式来访问和管理非结构化或半结构化数据,同时提供了一系列实用的功能,如错误处理机制和并行处理能力,使其成为处理大量外部数据的强大工具。
### ORACLE创建外部表知识点详解 #### 一、创建外部表背景及意义 在Oracle数据库中,外部表是一种特殊的表类型,它允许直接访问文件系统中的数据文件,而无需将这些数据加载到数据库中。这种方式既节省了存储空间...
Oracle外部表支持两种类型的驱动:一种是ORACLE_LOADER,外部表的数据必须来源于文件文件,另一种则是ORACLE_DATAPUMP,外部表的数据必须是二进制dump文件,该dump文件是先前将Oracle内部表的数据导入到外部表中...
Oracle 10g中的外部表(External Tables)是一种非常实用的功能,它允许数据库直接读取存储在操作系统文件系统中的数据,而无需先将其导入到常规的数据库表中。这种机制对于处理大量非结构化或半结构化数据,如日志...
Oracle外部表由三部分组成:定义外部表的DDL语句、数据文件和一个可选的外部表目录。DDL语句定义了外部表的结构,包括列名、数据类型等。数据文件则包含要访问的实际数据,可以是文本文件、CSV文件或其他格式。外部...
### Oracle数据库外部表详解 #### 一、外部表概述 **外部表(External Tables)**是Oracle数据库中一种特殊的数据存储方式,它允许用户通过普通的SQL查询操作来访问存储在数据库之外的数据文件中的数据。这种设计...
### Oracle接收长度大于4000的字符串 在Oracle数据库中,默认情况下,`VARCHAR2`类型字段的最大长度为4000个字符。当需要处理更长的字符串时(例如,超过4000个字符),可以采用多种方法来解决这一问题。本文将详细...
4. **Oracle外部表**:另一种方法是创建Oracle外部表,指向Word文档,然后通过SQL查询直接写入Word。这种方式需要设置Oracle目录对象和外部表定义。 5. **Microsoft Word VBA宏**:如果你熟悉VBA(Visual Basic for...
- Oracle外部表用于存取数据库外的文件(TextFile)或Oracle专用格式文件。 请注意,根据提供的文件内容,以上知识点的解释可能并不完全准确,因为文档通过OCR扫描识别出的文本可能包含错误或遗漏,需要根据实际的...
3Oracle 外部表访问参数59Oracle 索引组织表59Oracle 索引组织表选项59Oracle 视图60Oracle 函数或过程61Oracle 数据库链接62Oracle 索引63Oracle Java65Oracle 实体化视图66Oracle 实体化视图日志68Oracle 包69...
AS SELECT ...`语句创建一个外部表,该表的定义是Oracle数据库中表的一个副本。这需要在查询中指定Oracle数据库的连接信息,以及要复制的Oracle表的SQL查询。 示例: ``` CREATE TABLE oracle_table ( column1...
本篇文章将详细讲解如何将Oracle数据表导出为Word文档,以满足软件开发和报告撰写的需求。 首先,理解Oracle数据表的基本概念。在Oracle数据库中,数据表是存储数据的主要结构,由一系列行和列组成,每一行代表一个...
Java 导出 Oracle 数据(单表) 在本资源中,我们将讨论如何使用 Java 语言导出 Oracle 数据库中的单表数据。该资源提供了一个完整的示例代码,展示了如何使用 Java 语言连接 Oracle 数据库,执行导出操作,并处理...
6. 索引连接(INDEX JOIN):Oracle 8新增,利用索引来加速连接操作,特别适用于外部表通过索引进行快速定位的情况。 选择合适的连接方式对性能至关重要。优化器(RBO或CBO)会根据数据量、索引和成本估算来决定...