如何将一个txt文件中的不同行通过oracle sqlldr导入到不同的表

通过txt文件中每一行的第一个字母,将每一行导入到不同的行如:文件test.txt内容如下:CTR,1,2,3HDR,4,5,6,7DTL,8,9,10,11,12CTR... 通过txt文件中每一行的第一个字母,将每一行导入到不同的行
如:文件test.txt内容如下:
CTR,1,2,3
HDR,4,5,6,7
DTL,8,9,10,11,12
CTR,A,B,C
需要将第一,第四行导入到TABLE_CTR表中,将第二行导入到table_hdr中,将第三行导入到table_ctr中(以不同单词开头的行,对应的列是一样的)。
现在的test.ctl如下:
load data
infile 'test.txt'
append into table TABLE_CTR
WHEN col1 = 'CTRL'
fields terminated by ','
TRAILING NULLCOLS
(col1,col2,col3)

INTO TABLE TABLE_HDR
WHEN col4 ='HDR'
(col4,col5,col6,col7)

INTO TABLE TABLE_DTL
WHEN col8 ='DTL'
(col8,col9,col10,col11,col12)

然后用sqlldr user/password@server CONTROL=test.CTL文件导入数据库,怎么总是报错呢?
记录 1: 被废弃 - 所有 WHEN 子句失败。
记录 2: 被废弃 - 所有 WHEN 子句失败。
记录 3: 被废弃 - 所有 WHEN 子句失败。

请教应该错在哪呢?应该如何实现呢
展开
 我来答
whmng
2011-06-19 · TA获得超过664个赞
知道小有建树答主
回答量:290
采纳率:100%
帮助的人:207万
展开全部
通过txt文件中每一行的第一个字母,将每一行导入到不同的行
这个不对是不是
通过txt文件中每一行的第一个字母,将每一行导入到不同的表

还有when 条件不对 字段都是 col1 ,导入表的字段也不对
load data
infile 'test.txt'
append into table TABLE_CTR
WHEN col1 = 'CTRL'
fields terminated by ','
TRAILING NULLCOLS
(col1,col2,col3)

INTO TABLE TABLE_HDR
WHEN col1 ='HDR'
(col4,col5,col6,col7)

INTO TABLE TABLE_DTL
WHEN col1 ='DTL'
(col8,col9,col10,col11,col12)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式