1:创建表
create table BIDB.PREREC
( POLICYNO CHAR(15),
CURRCODE CHAR(1),
OPERNO CHAR(8),
YEAR INTEGER,
YEARNUM INTEGER,
PAYCODE CHAR(2),
PCODE CHAR(1),
COVER1 CHAR(10),
COVER2 CHAR(10),
AMOUNT NUMBER(16,2),
CLASSCODE CHAR(6),
EMPNO CHAR(8), YJRATE
NUMBER(16,10),
AGENSIGN CHAR(1),
AYJRATE NUMBER(16,10),
SETCODE CHAR(1),
PAYDATE char(10),
STDRATE NUMBER(16,2),
UNSTDRATE NUMBER(16,2),
DEPTNO CHAR(10),
CONTNO CHAR(8) )
--此处要注意表的ower以及操作用户的owner
2:准备数据prerec.unl文件
SHHCH0000157102|1|SHHA0777|16|99|13|1|2006-10-12|2011-09-19|0.0|AL0501|SHHB2005|0.03|0|0.03|1|2006-10-12|0.0|0.0|SHH9000000|SHHB2005| SHHCH0000157102|1|SHHA0777|16|99|13|1|2007-10-12|2011-09-19|0.0|AL0501|SHHB2005|0.03|0|0.03|1|2007-10-12|0.0|0.0|SHH9000000|SHHB2005| SHHCH0000157102|1|SHHA0777|16|99|13|1|2008-10-12|2011-09-19|0.0|AL0501|SHHB2005|0.03|0|0.03|1|2008-10-12|0.0|0.0|SHH9000000|SHHB2005| .....................
3:创建prerec.ctd文件
load data
infile 'D:资料load_dataprerec.unl'
Append into table prerec fields terminated by '|'
( policyno ,
currcode ,
operno ,
year ,
yearnum ,
paycode ,
pcode ,
cover1 ,
cover2 ,
amount ,
classcode ,
empno ,
yjrate ,
agensign ,
ayjrate ,
setcode ,
paydate ,
stdrate ,
unstdrate ,
deptno ,
contno)
4:执行命令
sqlldr userid=bidb/bidb@bidb control=D:/资料/load_data/prerec.ctl
本人由于数据是从INFORMIX数据库UNLOAD出来的,且对应的日期为Y4MD-格式的,所以日期类型的数据中没有时分秒,而ORACLE中默认的 DATE类型的数据是带时分秒,故在导入的时候会出错,我图方便,直接修改了ORACLE数据DATE类型的为CHAR(10),其实大家可以在导入的时 候修改数据类型TOCHAR来处理的 :-)
create table BIDB.PREREC
( POLICYNO CHAR(15),
CURRCODE CHAR(1),
OPERNO CHAR(8),
YEAR INTEGER,
YEARNUM INTEGER,
PAYCODE CHAR(2),
PCODE CHAR(1),
COVER1 CHAR(10),
COVER2 CHAR(10),
AMOUNT NUMBER(16,2),
CLASSCODE CHAR(6),
EMPNO CHAR(8), YJRATE
NUMBER(16,10),
AGENSIGN CHAR(1),
AYJRATE NUMBER(16,10),
SETCODE CHAR(1),
PAYDATE char(10),
STDRATE NUMBER(16,2),
UNSTDRATE NUMBER(16,2),
DEPTNO CHAR(10),
CONTNO CHAR(8) )
--此处要注意表的ower以及操作用户的owner2:准备数据prerec.unl文件
SHHCH0000157102|1|SHHA0777|16|99|13|1|2006-10-12|2011-09-19|0.0|AL0501|SHHB2005|0.03|0|0.03|1|2006-10-12|0.0|0.0|SHH9000000|SHHB2005| SHHCH0000157102|1|SHHA0777|16|99|13|1|2007-10-12|2011-09-19|0.0|AL0501|SHHB2005|0.03|0|0.03|1|2007-10-12|0.0|0.0|SHH9000000|SHHB2005| SHHCH0000157102|1|SHHA0777|16|99|13|1|2008-10-12|2011-09-19|0.0|AL0501|SHHB2005|0.03|0|0.03|1|2008-10-12|0.0|0.0|SHH9000000|SHHB2005| .....................
load data
infile 'D:资料load_dataprerec.unl'
Append into table prerec fields terminated by '|'
( policyno ,
currcode ,
operno ,
year ,
yearnum ,
paycode ,
pcode ,
cover1 ,
cover2 ,
amount ,
classcode ,
empno ,
yjrate ,
agensign ,
ayjrate ,
setcode ,
paydate ,
stdrate ,
unstdrate ,
deptno ,
contno)4:执行命令
sqlldr userid=bidb/bidb@bidb control=D:/资料/load_data/prerec.ctl
本人由于数据是从INFORMIX数据库UNLOAD出来的,且对应的日期为Y4MD-格式的,所以日期类型的数据中没有时分秒,而ORACLE中默认的 DATE类型的数据是带时分秒,故在导入的时候会出错,我图方便,直接修改了ORACLE数据DATE类型的为CHAR(10),其实大家可以在导入的时 候修改数据类型TOCHAR来处理的 :-)


7112

被折叠的 条评论
为什么被折叠?



