2.1 基本知识
Oracle 的 SQL* LOADER 可以将外部格式化的文本数据加载到数据库表中。通常 与 SPOOL导出文本数据方法配合使用。
1.命令格式
SQLLDR keyword=value [,keyword=value,……]
例:$ sqlldr user/pwd control=emp.ctl data=emp.dat bad=emp.bad log=emp.log
2.控制文件
SQL*LOADER 根据控制文件可以找到需要加载的数据。并且分析和解释这些数据。
控制文件由三个部分组成,具体参数参考帮助文档:1. 全局选件,行,跳过的记录数等;2. INFILE 子句指定的输入数据;3. 数据特性说明。
comment: ——注释
例:
load data infile *
append ——除了 append外,还有 insert、replace、truncate等方式
into table emp fields terminated b y ‘|’
(
no float external, name char(20),
age integer external,
duty char(1),salary float external,
upd_ts date(14) ‘YYYYMMDDHH24MISS’)
begindata
100000000003|Mulder|000020|1|000000005000|20020101000000
100000000004|Scully|000025|2|000000008000|20020101235959
控制文件中infile选项跟sqlldr 命令行中data 选项含义相同,如使用infile *则表明数据在本控制文件以 begin data 开头的区域内。 一些选项:FIELDS TERMINATED BY WHITESPACE FIELDS TERMINATED BY x'09' FILLER_1 FILLER, // 指定某一列将不会被装载
DEPTNO position(1:2), DNAME position(*:16), // 指定列的位置SEQNO RECNUM //载入每行的行号
SKIP n // 指定导入时可以跳过多少行数据
一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。