一、实验环境
Windows XP+oracle9i 9.0.1
二、实验思想
进一步理解,在加载数据时控制文件中分隔符的作用
三、实验设计
1、创建实验表
2、创建控制文件
3、加载数据
四、实验步骤
1、创建实验表
SQL> create table test1 as select * from dept where 1=2;
表已创建。
SQL> select * from test1;
未选定行
2、创建控制文件test1.ctl
LOAD DATA
INFILE *
INTO TABLE test1
REPLACE
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(DEPTNO,
DNAME,
LOC
)
BEGINDATA
10,Sales,"""USA"""
20,Accounting,"Virginia,USA"
30,",",Virginia
40,Finance,Virginia
50,"Finance","",Virginia
60,"Finance",,Virginia
70,Finance,Virginiaaaaaaaaaaaaaaaaaaaaa
3、加载数据
E:\test>sqlldr scott/oracle control=test.ctl log=test bad=test
SQL*Loader: Release 9.0.1.1.1 - Production on 星期六 8月 4 11:20:42 201
(c) Copyright 2001 Oracle Corporation. All rights reserved.
达到提交点,逻辑记录计数6
达到提交点,逻辑记录计数7
4、查看数据
SQL> select * from test1;
DEPTNO DNAME LOC
---------- -------------- -------------
10 Sales "USA"
20 Accounting Virginia,USA
30 , Virginia
40 Finance Virginia
50 Finance
60 Finance
已选择6行。
五、实验小结
通过将表中数据和控制文件中的记录对比发现
1、第七条记录由于有个列值超出了规定长度所以改行记录并未插入成功。
2、若插入记录中包含分隔符则应该将该列值用字段符包含起来。
3、记录中多余的部分会被忽略
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26723566/viewspace-739821/ ,如需转载,请注明出处,否则将追究法律责任。