日期:2014-05-16  浏览次数:20443 次

orale批量导入数据库(补充)

表结构
create table PE_DEPT_RESULT_ITEMS
(
? PE_ID? ? ? ? ? VARCHAR2(10) not null,
? PE_VISIT_ID? ? NUMBER(4) not null,
? PE_DEPT_CODE? ? VARCHAR2(8) not null,
? CONTENT_CLASS? VARCHAR2(1) not null,
? CONTENT? ? ? ? VARCHAR2(2000),
? DESCRIPTION? ? VARCHAR2(32),
? IN_DEPT_REPORT? VARCHAR2(1),
? IN_CHIEF_REPORT VARCHAR2(1)
)
在C盘根目录下存了csv文件,csv文件是由xls另存为而来的,其中第一行是字段名,删除之后还是不行
? PE_ID PE_VISIT_ID PE_DEPT_CODE CONTENT_CLASS CONTENT DESCRIPTION IN_DEPT_REPORT IN_CHIEF_REPORT
1 14441 1 801 0 "花飘万家雪" 1 0

然后在用记事本新建ctl文件存到C盘根目录下如下
load data           --1、控制文件标识
infile 'C:\pe_dept_result_items.csv'   --2、要输入的数据文件名为lcolddata.xls
replace into table pe_dept_result_items    --3、向表test中插入记录
fields terminated by ','  --4、字段间隔用','分开
( PE_ID,PE_VISIT_ID,PE_DEPT_CODE,CONTENT_CLASS,CONTENT,DESCRIPTION,IN_DEPT_REPORT,IN_CHIEF_REPORT)  -----定义列对应顺序

之后在CMD中执行sqlldr userid=system/asdfasdf control=input.ctl