文本文件如下,注意文件名必须有后缀,文本行首也需要|分隔符:
[oracle@ycr test]$ more person.txt|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m|aaa|123|m创建表:SQL> create table person (name varchar2(6),num varchar2(5),gender varchar2(3));Table created.编写控制文件input.ctl:OPTIONS (skip=1)LOAD DATAINFILE "person.txt"truncateINTO TABLE person -- 要插入记录的表Fields terminated by "|"trailing nullcols --表的字段没有对应的值时允许为空( virtual_column FILLER, --这是一个虚拟字段,用来跳过由 PL/SQL Developer 生成的第一列序号 name, num, gender)导入:sqlldr test/oracle@ycr2 control=input.ctl另外如果实际列中比平面文件中列数多,可在控制文件最后多余的列明,比如表中有日期列,但平面文件中没有,可在控制文件列明的最后一条加上如下:XXXXX char "trunc(sysdate)"表示插入当前日期