sqlldr简单导入自增序列的数据

建表
create table WBH_TEMP7
(
  ID          NUMBER,
  TERMINAL_ID VARCHAR2(50)
)

建序列
create sequence SEQ_A
minvalue 1
maxvalue 99999999
start with 1
increment by 1
nocache;

如果1.txt内容为以下
号码
11111111
22222222
33333333
44444444

控制文件1.ctl
LOAD DATA  
INFILE "1.txt" --导入数据文件名称
append         --append追加,truncate清空
INTO TABLE wbh_temp7 --目标数据库表名
Fields terminated by "," --指定数据列的分隔符
trailing nullcols  -- 表的字段没有对应的值时允许为空
(
  TERMINAL_ID,
  ID "SEQ_A.NEXTVAL" --id列导入seq_a的自增序列
)

导入命令
sqlldr user/password control=1.ctl skip=1 load=200000 errors=100 rows=1000  bindsize=33554432

user/password  //数据库的用户名密码
control        //sqlldr控制文件位置
skip=1         //表示跳过第一行,从第二行开始导入
load=200000    //表示并不导入所有的数据,只导入跳过skip参数后的200000条数据
rows=1000     //表示一次加载的行数,默认值为64,此处设置为1000
errors=100    //表示出错100次后,停止加载
bindsize=33554432 //表示每次提交记录缓冲区的大小,默认256k

导入数据后数据库表中的内容
ID      TERMINAL_ID
1 11111111
2 22222222
3 33333333
4 44444444

猜你喜欢

转载自wattone.iteye.com/blog/1630894