标签:
语法:
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
标签:
原文地址:http://www.cnblogs.com/jaysanshi/p/4345807.html