linux将数据一行分为两行,使用SQLLOADER将一行数据拆分为多行进行加载

SQL*LOADER支持将一行数据(物理行)拆分为多行(逻辑行)处理,本文进行测试验证。

1,测试:

1.0测试表

create table multi_line(

x1 varchar2(100),x2 varchar2(100),x3 varchar2(100));

create table multi_line2(

x1 varchar2(100),x2 varchar2(100),x3 varchar2(100));

2.1测试

test1,一行拆为两行,在同一表中存储

cat normal_line.ctl

LOAD DATA

INFILE *

INTO TABLE multi_line TRUNCATE

fields terminated by ',' optionally enclosed by '"'

trailing nullcols

( x1,

x2,

x3

)

INTO TABLE multi_line TRUNCATE

fields terminated by ',' optionally enclosed by '"'

trailing nullcols

( x1,

x2,

x3

)

BEGINDATA

a1,b1,c1,d1,e1,f1,

a2,b2,c2,d2,e2,f2,

a3,b3,c3,d3,e3,f3,

a4,b4,c4,d4,e4,f4,

a5,b5,c5,d5,e5,f5,

set linesize 100

set pagesize 0

col x1 for a10

col x2 for a10

col x3 for a10

select * from multi_line;

SQL> select * from multi_line;

a1         b1         c1

a2         b2         c2

a3         b3         c3

a4         b4         c4

a5         b5         c5

d1         e1         f1

d2         e2         f2

d3         e3         f3

d4         e4         f4

d5         e5         f5

10 rows selected.

test2,一行拆为两行,在两个表中存储

cat normal_line.ctl

LOAD DATA

INFILE *

INTO TABLE multi_line TRUNCATE

fields terminated by ',' optionally enclosed by '"'

trailing nullcols

( x1,

x2,

x3

)

INTO TABLE multi_line2 TRUNCATE

fields terminated by ',' optionally enclosed by '"'

trailing nullcols

( x1,

x2,

x3

)

BEGINDATA

a1,b1,c1,d1,e1,f1,

a2,b2,c2,d2,e2,f2,

a3,b3,c3,d3,e3,f3,

a4,b4,c4,d4,e4,f4,

a5,b5,c5,d5,e5,f5,

set linesize 100

set pagesize 0

col x1 for a10

col x2 for a10

col x3 for a10

SQL> select * from multi_line;

a1         b1         c1

a2         b2         c2

a3         b3         c3

a4         b4         c4

a5         b5         c5

SQL> select * from multi_line2;

d1         e1         f1

d2         e2         f2

d3         e3         f3

d4         e4         f4

d5         e5         f5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值