码迷,mamicode.com
首页 > 数据库 > 详细

oracle 外部表

时间:2015-03-17 23:15:50      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:

语法:

create table 表名(

列名1,列名2,......

)

organization external  ###说明创建外部表

(

 type 访问类型            ###一般是 ORACLE_LOADER ,ORACLE_DATAPUMP

 default directory   路径名   ####指定默认目录对象

 access parameter (        ###数据源文件与表中行之间的映射关系

           records delimited by 设置分隔符    ###一般是newline

           [badfile 路径名:‘文件名‘]   ##存放错误日志的目录和文件名

           [logfile 路径名:‘文件名‘]    ##日志的目录和文件名

           [discardfile 路径名:‘文件名‘]  ###废弃文件存放的目录和文件名

          [ missing field values are null]   ##无值字段的处理
          [reject rows with all null fields]   ##无值行的处理

          fields terminated by  ‘分隔符‘   ###设置文件中字段的分隔符

              ( 列名1, 列名2, .....)   

   )

location (路径名:‘数据文件名‘)

)

[reject limit(或unlimited) 数值 ] ###设置多少行转换失败时返回oracle错误,默认为0

[parallel]

 

例子:

1.在系统下创建三个目录

/home/oracle/test_folder/data --数据文件目录

touch test.dat --数据文件

录入数据

1001,abc,2013/07/12,1000
1002,abcd,2014/01/31,1000
1003,bdc,2012/03/12,1020

/home/oracle/test_folder/log  --日志文件目录

touch test.log --日志文件

/home/oracle/test_folder/bad --错误文件目录

touch test.bad --错误文件

2.创建目录

登陆 conn  / as sysdba 下

create or replace directory DATA_DIR AS ‘/home/oracle/test_folder/data‘ ;  --数据文件目录
create or replace directory LOG_DIR AS ‘/home/oracle/test_folder/log‘ ;--日志文件目录
create or replace directory BAD_DIR AS ‘/home/oracle/test_folder/bad‘ ;--错误文件目录

3.授权

grant write ,read on directory DATA_DIR to scott;
grant write ,read on directory LOG_DIR to scott;
grant write ,read on directory BAD_DIR to scott;

3.创建表

create table ext_emp
(
 emp_no varchar2(10),
 epm_name varchar2(20),
 hirte_date date,
 comm number
)
organization external
(
 type ORACLE_LOADER
 default directory DATA_DIR
 access parameters
 (
  records delimited by newline
  badfile DATA_DIR:‘test.bad‘
  logfile DATA_DIR:‘test.log‘
  fields terminated by ‘,‘
  (
   emp_no,
   epm_name,
   hirte_date char date_format date mask ‘yyyy-mm-dd‘,
   comm
  )
 )
 location(‘test.dat‘)
)
parallel
reject limit unlimited;

 


select * from ext_emp

 

oracle 外部表

标签:

原文地址:http://www.cnblogs.com/jaysanshi/p/4345807.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!