Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1149115
  • 博文数量: 231
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 2662
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-03 16:35
个人简介

学无止境

文章分类

全部博文(231)

文章存档

2014年(7)

2013年(103)

2011年(11)

2010年(53)

2009年(57)

分类: Oracle

2010-07-09 17:50:37

使用sqlload导入到多表

table2.dat
有如下数据:

emp,1,"jusdoi"
ldd,3324,"liaodaiyi"
emp,5,"地面进攻"
ldd,6788,"zhangxiaoxu"
ldd,9321,"wanghuihui"


目的要把这些数据插入到2张不同的表中
其中emp的数据插入到emp表中,
ldd的数据插入到ldd表中。

emp和ldd表都只有2个字段,table2.dat中记录的第一个字段(emp或ldd)需要忽略。

SQL> desc emp;
 名称                                      是否为空? 类型
 ----------------------------------------- -------- --------------
 DEPTNO                                             NUMBER(10)
 ENAME                                              VARCHAR2(20)
 
SQL> desc ldd
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ------------------
 DATA1                                              VARCHAR2(20)
 DATA2                                              VARCHAR2(20)
 
 

table2.ctl文件内容如下,其中(01)表示第一条记录。

LOAD DATA
INFILE 'table2.dat'
Append
INTO TABLE emp
WHEN (01) ='emp'
fields terminated by ',' OPTIONALLY ENCLOSED BY '"'
(
mark filler POSITION(01),
deptno,
ename
)
INTO TABLE ldd
WHEN (01) = 'ldd'
fields terminated by ',' OPTIONALLY ENCLOSED BY '"'
(
mark filler POSITION(01),
data1,
data2
)


使用sqlldr导入:
sqlldr ldy/ldy control=table2.ctl log=table2.log


查看导入内容:
SQL> select * from ldd;

DATA1                DATA2
-------------------- --------------------
3324                 liaodaiyi
6788                 zhangxiaoxu
9321                 wanghuihui

SQL> select * from emp;

    DEPTNO ENAME
---------- --------------------
         1 jusdoi
         5 地面进攻


 

阅读(2221) | 评论(0) | 转发(0) |
0

上一篇:位图索引

下一篇:索引状态为'N/A'

给主人留下些什么吧!~~