`

oracle 外部表

阅读更多
    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个。
分享到:
评论

相关推荐

    oracle外部表的使用

    下面我们将深入探讨Oracle外部表的创建、使用以及相关的关键知识点。 ### 一、创建外部表 外部表的创建主要通过`CREATE TABLE`语句,加上`ORGANIZATION EXTERNAL`子句来实现。以下是一个创建外部表的基本语法: `...

    \Oracle 外部表

    ### Oracle 外部表知识点详解 #### 一、外部表的概念及特性 ...总之,Oracle外部表为用户提供了一种高效且灵活的方式来处理文件系统中的数据,减少了数据传输和转换的时间成本,提高了数据处理效率。

    oracle外部表Externaltable[借鉴].pdf

    "Oracle 外部表(External table)" Oracle 外部表(External table)是一种特殊的表类型,它允许 Oracle 数据库将一个普通的文本格式的操作系统文件看作是一个数据库表,可以象普通表一样进行 select 操作,可以建...

    ORACLE外部表学习笔记

    综上所述,Oracle外部表的使用涉及到元数据的定义、外部数据文件的格式和内容、以及数据迁移工具ORACLE_DATAPUMP和SQLLDR的配置与使用。在实际操作中,还需注意数据库版本间的兼容性问题,以及操作系统和Oracle...

    关于ORACLE外部表的使用方法

    ### 关于ORACLE外部表的使用方法 #### 一、Oracle外部表简介 在Oracle数据库中,外部表(External Table)是一种特殊的表类型,它允许用户通过标准的SQL语句来查询存储在文件系统中的数据,而无需将这些数据加载到...

    Oracle外部表特性深入浅出

    ### Oracle外部表特性深入浅出 #### 一、外部表概述 外部表是Oracle自9i版本后引入的一个新特性,它不同于传统意义上的数据库表,实际上并不存储在数据库内部,而是指向操作系统中的某个文件。通过定义外部表的元...

    oracle 外部表语法

    综上所述,Oracle外部表为数据库用户提供了一种高效、灵活的方式来访问和管理非结构化或半结构化数据,同时提供了一系列实用的功能,如错误处理机制和并行处理能力,使其成为处理大量外部数据的强大工具。

    ORACLE建外部表笔记

    ### ORACLE创建外部表知识点详解 #### 一、创建外部表背景及意义 在Oracle数据库中,外部表是一种特殊的表类型,它允许直接访问文件系统中的数据文件,而无需将这些数据加载到数据库中。这种方式既节省了存储空间...

    如何利用Oracle外部表导入文本文件的数据

     Oracle外部表支持两种类型的驱动:一种是ORACLE_LOADER,外部表的数据必须来源于文件文件,另一种则是ORACLE_DATAPUMP,外部表的数据必须是二进制dump文件,该dump文件是先前将Oracle内部表的数据导入到外部表中...

    oracle 10g创建外部表

    Oracle 10g中的外部表(External Tables)是一种非常实用的功能,它允许数据库直接读取存储在操作系统文件系统中的数据,而无需先将其导入到常规的数据库表中。这种机制对于处理大量非结构化或半结构化数据,如日志...

    etl.rar_Table_etl_etl oracle

    Oracle外部表由三部分组成:定义外部表的DDL语句、数据文件和一个可选的外部表目录。DDL语句定义了外部表的结构,包括列名、数据类型等。数据文件则包含要访问的实际数据,可以是文本文件、CSV文件或其他格式。外部...

    Oracle数据库外部表.doc

    ### Oracle数据库外部表详解 #### 一、外部表概述 **外部表(External Tables)**是Oracle数据库中一种特殊的数据存储方式,它允许用户通过普通的SQL查询操作来访问存储在数据库之外的数据文件中的数据。这种设计...

    Oracle接收长度大于4000的字符串

    ### Oracle接收长度大于4000的字符串 在Oracle数据库中,默认情况下,`VARCHAR2`类型字段的最大长度为4000个字符。当需要处理更长的字符串时(例如,超过4000个字符),可以采用多种方法来解决这一问题。本文将详细...

    Oracle导出WORD数据字典

    4. **Oracle外部表**:另一种方法是创建Oracle外部表,指向Word文档,然后通过SQL查询直接写入Word。这种方式需要设置Oracle目录对象和外部表定义。 5. **Microsoft Word VBA宏**:如果你熟悉VBA(Visual Basic for...

    ocp 052 最新认证题库,更新于2018年7月(157道题)

    - Oracle外部表用于存取数据库外的文件(TextFile)或Oracle专用格式文件。 请注意,根据提供的文件内容,以上知识点的解释可能并不完全准确,因为文档通过OCR扫描识别出的文本可能包含错误或遗漏,需要根据实际的...

    Navicat Premium操作手册.7z

    3Oracle 外部表访问参数59Oracle 索引组织表59Oracle 索引组织表选项59Oracle 视图60Oracle 函数或过程61Oracle 数据库链接62Oracle 索引63Oracle Java65Oracle 实体化视图66Oracle 实体化视图日志68Oracle 包69...

    通过MSQL通过视图访问ORACLE中的表

    AS SELECT ...`语句创建一个外部表,该表的定义是Oracle数据库中表的一个副本。这需要在查询中指定Oracle数据库的连接信息,以及要复制的Oracle表的SQL查询。 示例: ``` CREATE TABLE oracle_table ( column1...

    oracle数据表导出为word文档

    本篇文章将详细讲解如何将Oracle数据表导出为Word文档,以满足软件开发和报告撰写的需求。 首先,理解Oracle数据表的基本概念。在Oracle数据库中,数据表是存储数据的主要结构,由一系列行和列组成,每一行代表一个...

    java导出oracle数据(单表)

    Java 导出 Oracle 数据(单表) 在本资源中,我们将讨论如何使用 Java 语言导出 Oracle 数据库中的单表数据。该资源提供了一个完整的示例代码,展示了如何使用 Java 语言连接 Oracle 数据库,执行导出操作,并处理...

    ORACLE表连接方式分析及常见用法

    6. 索引连接(INDEX JOIN):Oracle 8新增,利用索引来加速连接操作,特别适用于外部表通过索引进行快速定位的情况。 选择合适的连接方式对性能至关重要。优化器(RBO或CBO)会根据数据量、索引和成本估算来决定...

Global site tag (gtag.js) - Google Analytics