知识大全 教会你掌握oracle外表

Posted

篇首语:男儿欲遂平生志,六经勤向窗前读。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 教会你掌握oracle外表相关的知识,希望对你有一定的参考价值。

  外表(external table)就像普通的表对像一样 可以select等 只是它是只读的 数据库中只保存了表结构的描述 表数据却没有存放在数据库内 而是存放在了文件系统上 当用户想偶尔使用数据库外的结构化数据时 用起外表来就非常方便 甚至比sqlldr都要方便的多 在这篇文章里 我们为大家演示了三步就掌握oracle外表过程 通过这次学习 也许大家就会发展原来学习oracle也是好容易哦      第一步 创建目录并授权  目录是数据文件的存放目标 数据文件通常要求是文本文件 这个过程在 i以前是需要配置utl_file_dir参数的       sys@TEST>!ls /home/oracle/temp   user ctl userlist txt user log    rudolf@TEST> sys@TEST>conn system/alibaba   Connected  sys@TEST>   sys@TEST>CREATE DIRECTORY   TEMP AS /home/oracle/temp/ ;    Directory created     sys@TEST>grant read write on directory TEMP to rudolf;    Grant succeeded       第二步 创建外表与测试    rudolf@TEST>CREATE TABLE USERLIST       (       ID NUMBER        USERNAME VARCHAR ( )        EMAIL VARCHAR ( )      )      ORGANIZATION external      (       TYPE oracle_loader      DEFAULT DIRECTORY TEMP      ACCESS PARAMETERS      (       RECORDS DELIMITED BY NEWLINE CHARACTERSET US ASCII       BADFILE TEMP : userlist bad        DISCARDFILE TEMP : userlist dis        LOGFILE TEMP : user log        READSIZE        FIELDS TERMINATED BY OPTIONALLY ENCLOSED BY LDRTRIM       MISSING FIELD VALUES ARE NULL       REJECT ROWS WITH ALL NULL FIELDS       (        ID CHAR( )         TERMINATED BY OPTIONALLY ENCLOSED BY         USERNAME CHAR( )         TERMINATED BY OPTIONALLY ENCLOSED BY         EMAIL CHAR( )         TERMINATED BY OPTIONALLY ENCLOSED BY        )      )      location      (        userlist txt       )     )REJECT LIMIT UNLIMITED      rudolf@TEST>/    Table created     rudolf@TEST>l      select id username from userlist where rownum <      * rudolf@TEST>/        ID USERNAME            RudolfLu        tomgu        coug        chao_ping        parrotao        cnoug        FilsDeDragon        Dragon     rows selected        第三步 理解外表数据结构与create table anization external语法  大家都用过sqlldr吧?外表的数据文件的结构呢就同sqlldr能读的数据文件结构一样了 那么语法呢?嘿嘿 别急 让我们先来做个sqlldr的练习吧      [oracle@rac temp]$ head userlist txt    RudolfLu     tomgu     coug     chao_ping     parrotao     cnoug     FilsDeDragon     Dragon     Xavier     [oracle@rac temp]$ cat user ctl    LOAD INFILE /home/oracle/temp/userlist txt    badfile /home/oracle/temp/userlist bad    discardfile /home/oracle/temp/userlist dis    APPEND INTO TABLE userlist fields terminated by    optionally enclosed by    trailing nullcols   ( id char( )     username char( ) )    rudolf@TEST>create table userlist      (id number        username varchar ( )      );    Table created    rudolf@TEST>!   [oracle@rac temp]$ sqlldr rudolf/nix@test world control= /user ctl external_table=GENERATE_ONLY       注意 我们加了一个external_table的参数 它的作用是告诉sqlldr不用真实load数据 而是生成包含external table 创建脚本的log文件      [oracle@rac temp]$ ls   user ctl   userlist txt   user log [oracle@rac temp]$ cat user log     SQL*Loader: Release Production on Wed Dec : :     Copyright (c) Oracle Corporation    All rights reserved     Control File:    /user ctl   Data File:     /home/oracle/temp/userlist txt    Bad File:     /home/oracle/temp/userlist bad    Discard File: /home/oracle/temp/userlist dis      CREATE DIRECTORY statements needed for files       CREATE DIRECTORY SYS_SQLLDR_XT_TMPDIR_ AS /home/oracle/temp/     CREATE TABLE statement for external table:       CREATE TABLE SYS_SQLLDR_X_EXT_USERLIST     (    ID NUMBER   USERNAME VARCHAR ( ) )   ORGANIZATION external    (    TYPE oracle_loader    DEFAULT DIRECTORY SYS_SQLLDR_XT_TMPDIR_     ACCESS PARAMETERS     (     RECORDS DELIMITED BY NEWLINE CHARACTERSET US ASCII     BADFILE SYS_SQLLDR_XT_TMPDIR_ : userlist bad      DISCARDFILE SYS_SQLLDR_XT_TMPDIR_ : userlist dis      LOGFILE user log_xt      READSIZE      FIELDS TERMINATED BY OPTIONALLY ENCLOSED BY LDRTRIM      MISSING FIELD VALUES ARE NULL      REJECT ROWS WITH ALL NULL FIELDS      (      ID CHAR( )       TERMINATED BY OPTIONALLY ENCLOSED BY       USERNAME CHAR( )       TERMINATED BY OPTIONALLY ENCLOSED BY     )    )    location     (      userlist txt     )   )REJECT LIMIT UNLIMITED   cha138/Article/program/Oracle/201311/18672

相关参考

知识大全 教你快速掌握一个简单的Oracle定时任务

教你快速掌握一个简单的Oracle定时任务  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一在PLS

知识大全 教你快速掌握Oracle数据库的备份策略

教你快速掌握Oracle数据库的备份策略  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  主要介绍

知识大全 教你快速掌握Oracle数据库中的bfile

教你快速掌握Oracle数据库中的bfile  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  具体

知识大全 教你轻松掌握Oracle数据库的后备和恢复

教你轻松掌握Oracle数据库的后备和恢复  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  当我们

知识大全 教你轻松掌握Oracle9i里指针共享的增强

教你轻松掌握Oracle9i里指针共享的增强  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在O

知识大全 Oracle中左右连接外表带条件的写法

Oracle中左右连接外表带条件的写法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!研究时测试用的

教会你如何诊断银屑病

如果说可以及时的诊断出一种疾病,对于我们进行治疗是非常有帮助作用的,毕竟要在疾病的最佳治疗时间进行治疗这样的道理,我们每个人都很清楚,那么对于银屑病有应该如何来诊断呢?首先来了解银屑病的发病部位在哪里

知识大全 教会大学毕业生面试技巧

1、我就是毕业生大学毕业生没有必要把自己过于职业化,因为你就是刚刚毕业的学生,本来就没什么工作经验,用人单位聘用毕业生就早已有了这个心理准备,所以你这要注意言谈,做自己就好,你没有必要刻意的职业化。同

知识大全 如何掌握Oracle中的时间间隔型数据

如何掌握Oracle中的时间间隔型数据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在i版本以

知识大全 快速掌握Oracle10gEM乱码的解决方法

快速掌握Oracle10gEM乱码的解决方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在安