camwei 发表于 2013-08-16 11:23

sqlldr导入日期常量的问题,希望多多赐教,感谢!

有个sqlldr导入时间常量的问题,请教下各位,希望各位多多赐教,感谢!

要求:
1、表t_p_h24reqstat 有4列,statdate是data类型;文本'2013-08-14-00.txt‘里面有三列(没有statdate字段);
2、将2013-08-14-00.txt导入表t_p_h24reqstat 中,导入过程中自动补全statdate字段;

控制文件:
load data infile '2013-08-14-00.txt'
append in
to table t_p_h24reqstat fields terminated by "|"
(STATDATE constant "2013-08-15 19:30:00",requestid,h0c,h0t)

执行上面ctrl导入时报statdate字段格式错误,修改为以下还是不行:
(STATDATE DATE"yyyy-mm-dd hh24:mi:ss" constant "2013-08-15 19:30:00",requestid,h0c,h0t)

SQL*Loader-350: Syntax error at line 2.
Expecting "," or ")", found keyword constant.
(STATDATE DATE"yyyy-mm-dd hh24:mi:ss" constant "2013-08-15 19:30:00",R

www_xylove 发表于 2013-08-16 11:36

举例:
控制文件加入:
statdate date "yyyy-mm-dd hh24:mi:ss"
txt文档包含:
"2013-08-16 11:36:56"

camwei 发表于 2013-08-16 12:31

我就想带常量导入啊,文本文件里面没有satatdate字段

kquest2013 发表于 2013-09-06 14:59

load data infile '2013-08-14-00.txt'
append into
table t_p_h24reqstat fields terminated by '|'
(STATDATE constant "to_date('2013-08-15 19:30:00','yyyy-mm-dd hh24:mi:ss')",requestid,h0c,h0t)

smartree 发表于 2015-12-23 17:28

本帖最后由 smartree 于 2015-12-23 17:29 编辑

为防新访客进到这个沉寂2年的热门无解楼而后失望离去,特此补充:
对于sqlldr导入时的固定值其实有好几种场景:
1、固定字符串
2、固定数值
3、固定日期当前时间
4、固定日期指定时间
5、固定序列动态取值
首先无论哪种类型都是要用双引号""引起来的,对于控制参数而言一切皆文本,
假设你的表对应ID字段有个SEQUENCE序列SEQ_t_p_h24reqstat,
依次对应
1、固定字符串字段1 CONSTANT "ThisIs12345文本"
2、固定数值字段2 CONSTANT "123456789"
3、固定日期当前时间字段STATDATE EXPRESSION "to_date('2013-08-15 19:30:00','yyyy-mm-dd hh24:mi:ss')"
4、固定日期指定时间字段STATDATE EXPRESSION "to_date('2013-08-15 19:30:00','yyyy-mm-dd hh24:mi:ss')"
5、固定序列动态取值字段requestid "SEQ_t_p_h24reqstat.nextval"

页: [1]
查看完整版本: sqlldr导入日期常量的问题,希望多多赐教,感谢!