ITPub博客

首页 > Linux操作系统 > Linux操作系统 > FIELDS TERMINATED BY WHITESPACE & FIELDS TERMINATED BY x'09'

FIELDS TERMINATED BY WHITESPACE & FIELDS TERMINATED BY x'09'

原创 Linux操作系统 作者:兰在晨 时间:2012-08-04 16:53:18 0 删除 编辑
 

一、实验环境

Windows XP+oracle9i 9.0.1

二、实验思想

1、通过实验对比FIELDS TERMINATED BY WHITESPACE和FIELDS TERMINATED BY x'09' 的区别

三、实验设计

   1、创建实验表

   2、创建控制文件

   3、加载数据

四、实验步骤

1、创建实验表

       C:\Documents and Settings\Administrator>sqlplus scott/oracle 

SQL> create table test3 as select * from dept where 1=2;

2、创建控制文件

LOAD DATA

INFILE *

INTO TABLE test3

REPLACE

-- FIELDS TERMINATED BY WHITESPACE //这里为了对比这两者的区别,我把它定义到下面的表中

-- FIELDS TERMINATED BY x'09'

(DEPTNO TERMINATED BY WHITESPACE ,

DNAME TERMINATED BY x'09',

LOC

)

BEGINDATA

10 Sales Virginia

20        Sales        Virginia

30 Sales        Virginia

40 Sales        "Virginia"

 

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.

 

达到提交点,逻辑记录计数3

达到提交点,逻辑记录计数4

查看表中数据

 

SQL> select * from test3;

    DEPTNO DNAME          LOC

---------- -------------- ------------

        20 Sales          V

        30 Sales          V

                  40 Sales          "

                 

五、实验小结

由上我们可以知道,当使用FIELDS TERMINATED BY WHITESPACE时,无论是使用空格或者tab键作为分隔符都能够将记录装载成功;但使用FIELDS TERMINATED BY x'09'时只能以tab作为分隔符。

在做上面的实验时loc这一列的值仅插入了一个字符,于是我做了下面这个实验作为对比:

将控制文件改为:

LOAD DATA

INFILE *

INTO TABLE test3

REPLACE

-- FIELDS TERMINATED BY WHITESPACE

-- FIELDS TERMINATED BY x'09'

(DEPTNO TERMINATED BY WHITESPACE ,

DNAME TERMINATED BY x'09',

LOC TERMINATED BY WHITESPACE

)

BEGINDATA

10 Sales Virginia

20        Sales        Virginia

30 Sales        Virginia

这时再看实验结果:

DEPTNO DNAME          LOC

SQL> select * from test3;

 

    DEPTNO DNAME          LOC

---------- -------------- -------------

        20 Sales          Virginia

        30 Sales          Virginia

        40 Sales          "Virginia"

发现由于我是在表被指定的分隔符,而loc这列我并没有指定所以就默认将这列的第一个字符装载了。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26723566/viewspace-739835/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-06-04

  • 博文量
    58
  • 访问量
    222330