sql * loader

1、进入sql*loader

      C:\>sqlldr scott/tiger@test1 control=d:\ctl2.txt log=d:\L.txt bad=d:\bad.txt

      SQL*Loader: Release 11.2.0.1.0 - Production on 星期日 3月 15 01:52:21 2015

      Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

      达到提交点 - 逻辑记录计数 1
      达到提交点 - 逻辑记录计数 2

      control:指定控制文件

      log:指定日志文件

      bad:记录拒绝记录

2、固定格式导入

      SQL> get d:\固定格式_数据文件.txt
           1  1,'信息科','3楼'
           2  2,'财务科','3楼'
           3* 3,'办公室','3楼'
      SQL> get d:\固定格式_控制文件.txt
           1  load data
           2  infile 'd:\固定格式_数据文件.txt'
           3  insert into table dt
           4  fields terminated by ','
           5  (
           6    deptno,dname,loc
           7* )
     
SQL> select * from dt;

     
      未选定行
      C:\>sqlldr scott/tiger@test1 control=d:\固定格式_控制文件.txt log=d:\固定格式.log bad=固定格式.bad

      SQL*Loader: Release 11.2.0.1.0 - Production on 星期日 3月 15 02:01:47 2015

      Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

      达到提交点 - 逻辑记录计数 2
      达到提交点 - 逻辑记录计数 3
      SQL> select * from dt;
     
      DEPTNO DNAME          LOC
      ---------- -------------- -------------
         1 '信息科'       '3楼'
         2 '财务科'       '3楼'
         3 '办公室'       '3楼'
     
      SQL>

3、自由格式

       1、自由格式1

       SQL> get d:\自由格式_数据文件.txt
            1  11 a
            2  99 b
            3* 10 c
       SQL> get d:\自由格式_控制文件.txt
            1  load data
            2  infile 'd:\data.txt'
            3  append into table dt
           4  (
           5    deptno position(01:03)  char,
           6    dname  position(04:100) char
           7* )

       C:\>sqlldr scott/tiger@test1 control=d:\自由格式_控制文件.txt log=d:\自由格式.txt bad=d:\自由格式.bad

       SQL*Loader: Release 11.2.0.1.0 - Production on 星期日 3月 15 02:10:48 2015

       Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

       达到提交点 - 逻辑记录计数 2
       SQL> select * from dt;

    DEPTNO DNAME          LOC
---------- -------------- -------------
         1 '信息科'       '3楼'
         2 '财务科'       '3楼'
         3 '办公室'       '3楼'
        11 a
        99 b
        10 c

       已选择6行。

       2、自由格式2

       SQL> get d:\自由格式_数据文件2.txt
            1  01,北京|a
            2* 02,天津|a
       SQL> get d:\自由格式_控制文件2.txt
            1  load data
            2  infile 'd:\自由格式_数据文件2.txt'
            3  append into table dt
            4  (
            5    deptno char terminated by ',' ,
            6    dname  char terminated by '|' ,
            7    loc    char
            8* )

        C:\>sqlldr scott/tiger@test1 control=d:\自由格式_控制文件2.txt log=d:\自由格式2.txt bad=d:\自由格式2.bad

        SQL*Loader: Release 11.2.0.1.0 - Production on 星期日 3月 15 02:16:01 2015

        Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

        达到提交点 - 逻辑记录计数 1
        达到提交点 - 逻辑记录计数 2
       SQL> select * from dt;

    DEPTNO DNAME          LOC
---------- -------------- -------------
         1 '信息科'       '3楼'
         2 '财务科'       '3楼'
         3 '办公室'       '3楼'
        11 a
        99 b
        10 c
         1 北京           a
         2 天津           a

       已选择8行。

       SQL>

4、导入日期

      SQL> create table emp_t as select empno,ename,hiredate from emp where 1<>1;

      表已创建。

      SQL> describe emp_t
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------

 EMPNO                                              NUMBER(4)
 ENAME                                              VARCHAR2(10)
 HIREDATE                                           DATE

      SQL> select * from emp_t;

      未选定行

      SQL>

      SQL> get d:\日期导入_数据文件.txt
           1  EMPNO||','||ENAME||','||TO_CHAR(HIREDATE,'YYYY-MM-DD')
           2  --------------------------------------------------------------
           3  7782,CLARK,1981-06-09
           4  7839,KING,1981-11-17
           5* 7934,MILLER,1982-01-23
      SQL> get d:\日期导入_控制文件.txt
           1  options(skip=2)
           2  load data
           3  infile 'd:\日期导入_数据文件.txt'
           4  append into table emp_t
           5  fields terminated by ','
           6* (empno,ename,hiredate date 'yyyy-mm-dd')

      SQL> select * from emp_t;

     EMPNO ENAME      HIREDATE
---------- ---------- --------------
      7782 CLARK      09-6月 -81
      7839 KING       17-11月-81
      7934 MILLER     23-1月 -82

      SQL>

5、控制文件书写格式

      1、固定格式:

      [options(skip=x)]

      load data

      infile 'filename'

      insert|append|replace(delete form table)|truncate(truncate table table_name) into table table_name

      fields terminated by '分隔符'

      (column_name1,column_name2,......)

      2、自由格式

      [options (skip =x)] 

      load data

      infile 'filename'

      insert|append|replace(delete form table)|truncate(truncate table table_name) into table table_name

      (

          column_name char|integer|date terminated by '分隔符'

          |

          column_name position(01:100) char|integer|date

      )


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值