暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle Sql加载器

ASKTOM 2020-01-07
254

问题描述

我有这样的脚本

0HURRY10001                                                                                                                                                                                                                                                     
10000003301XX04042019080100000085000000000000                                                                                                                                                                                                                     
10000004325XY31712019072900000090000000000000                                                                                                                                                                                                                                                                                   
90002


我需要在表格中输入此数据位置,例如:

number : 0000003301
type : XX
register : 0404
date : 20190801
balance : 0000008500
last_transaction : 0000000000
promotion_available : HURRY10001


上面是我的sql表中的列,所有字段都不为空

我是第一次编写SQL加载器脚本,我将如何能够这样做这样的数据?

专家解答

您可以使用位置表示法来说明每个字段的位置。

我假设每个记录中的第一个字符陈述其类型。并且您想要将这些加载到不同的表中。

在这种情况下,这里有一个让你开始的例子:

LOAD DATA 
infile *
APPEND
INTO TABLE t1 WHEN rec_type = '1'
( 
rec_type filler position(1:1) CHAR , 
num      position(2:11) CHAR ,
type     position(12:13) CHAR,

) 
INTO TABLE t2 WHEN rec_type = '0'
( 
rec_type filler position(1:1) CHAR , 
promo    position(2:11) CHAR
)
begindata
0HURRY10001
10000003301XX04042019080100000085000000000000
10000004325XY31712019072900000090000000000000
90002

文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论