Oracle 外部表简单例子及语法说明

 

环境: oracle linux6.2  +oracle11.2.0.4

实验步骤:

1.   创建测试文件external_data.dat,内容如下:

<span style="font-size:12px;">0001,hawke_test,03-OCT-11
0002,malei_test,03-OCT-11</span>


 

2.   使用sys用户建立逻辑目录,并给指定的用户授予权限。(要有对操作系统中该目录的读写权限,直接使用scott用户建立,提示权限不足):

 

SQL> create directory dbtestdir as '/u01/dmp';

Directory created.

  

    SQL> grant read on directory dbtestdir to scott;

 

Grant succeeded.

 

SQL> grant write on directory dbtestdir to scott;

 

Grant succeeded.

3.   将测试文件external_data.dat,拷贝至/u01/dmp目录下。

4.   创建外部表,内容如下:

<span style="font-size:12px;">SQL> CREATE TABLE external_tab

  2  (

  3     id varchar2(4 char),

  4     name varchar2(12 char),

  5     birthday date

  6  )

  7  ORGANIZATION EXTERNAL

  8  (

  9     TYPE ORACLE_LOADER

 10     DEFAULT DIRECTORY dbtestdir

 11     ACCESS PARAMETERS

 12  (

 13  RECORDS DELIMITED BY NEWLINE

 14  FIELDS TERMINATED BY ','

 15  )

 16  LOCATION('external_data.dat')

 17  );</span>
<span style="font-size:12px;">Table created.</span>

 

5.   查询外部表:

<span style="font-size:12px;">SQL> select * from external_tab;

 

ID       NAME                     BIRTHDAY

-------- ------------------------ --------------

0001     hawke_test               03-10月-11

0002     malei_test                03-10月-11
 </span>

6.   语法说明:
SQL>create table ex_tb1   --创建外部表
  2  (ename,job,sal,dname)      --表列描述,注意未指定数据类型
  3  organization external
  4  (
  5  type oracle_datapump      --使用datapump将查询结果填充到外部表,注,此处由select生成,故不支持

                                           oracle_loader
  6  default directory dat_dir   --指定外部表的存放目录
  7  location('tb1.exp,tb2.exp'))
  8  parallel 2                       --按并行方式来填充,这里的并行度必须与生成的文件数量一致才能起作用
  9  as                             
 10  select ename,job,sal,dname --填充使用的原始数据
 11  from emp join dept
 12  on emp.deptno=dept.deptno

 

6.   语法说明:
SQL>create table ex_tb1   --创建外部表
  2  (ename,job,sal,dname)      --表列描述,注意未指定数据类型
  3  organization external
  4  (
  5  type oracle_datapump      --使用datapump将查询结果填充到外部表,注,此处由select生成,故不支持

                                           oracle_loader
  6  default directory dat_dir   --指定外部表的存放目录
  7  location('tb1.exp,tb2.exp'))
  8  parallel 2                       --按并行方式来填充,这里的并行度必须与生成的文件数量一致才能起作用
  9  as                             
 10  select ename,job,sal,dname --填充使用的原始数据
 11  from emp join dept
 12  on emp.deptno=dept.deptno

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值