zoukankan      html  css  js  c++  java
  • SQLLoader4(数据文件中的列与表中列不一致情况-filler)

    A.数据文件中字段个数少于表中列字段个数,但数据文件中缺少的列,在表定义中可以为空。
    ----- 这种情况是比较简单的,只需要将数据文件中数据对应的列的名字写到控制文件中即可。因为SQL*Loader是根据控制文件中给出的字段名字 和 数据文件中的字段的位置建立绑定并完成数据导入的。
    B.数据文件中字段个数少于表中列字段个数,但数据文件中缺少的列,在表定义中不可以为空,必须赋值。
    ----- 这种情况相对来说稍稍麻烦,不能通过简单的位置绑定来完成映射和数据导入。
    C.数据文件中的字段个数大于表中列字段的个数

    -----在控制文件中使用filler参数过渡掉数据文件中不需要的列
    ============================================
    1、数据文件中的字段小于表中的字段,且不允许为空
    数据文件:
    7369 SMITH CLERK
    7499 ALLEN SALESMAN
    7521 WARD SALESMAN
    7566 JONE SMANAGER

    控制文件:

    LOAD DATA
    INFILE 'D:oracletestldr_tab_fiile.dat'
    REPLACE
    INTO TABLE EMP2
    fields terminated by whitespace 
    TRAILING NULLCOLS --如要导入源文件此列内容为空,在导入到数据库表中,此列内容就是null
    (
    EMPNO,ENAME,JOB,COMM "0" --假设给不允许为空的字段comm赋值为0
    )

    2、数据文件中的字段要比表的中的字段多

    数据文件如下:
    7369 AAA SMITH 111 CLERK
    7499 BBB ALLEN 222 SALESMAN
    7521 CCC WARD 333 SALESMAN
    7566 DDD JONE 444 SMANAGER
    需要过渡数据文件中的第二列和第四列,控制文件如下:

    LOAD DATA
    INFILE 'D:oracletestldr_tab_fiile.dat'
    REPLACE
    INTO TABLE EMP2
    fields terminated by whitespace 
    TRAILING NULLCOLS --如要导入源文件此列内容为空,在导入到数据库表中,此列内容就是null
    (
    EMPNO,DATA_COL2 FILLER,ENAME,DATA_COL4 FILLER,JOB,COMM "1" 
    )

    ====
    DATA_COL2、DATA_COL4 这两个是随便命名的。

  • 相关阅读:
    学习:恢复被孤立的数据库dbo (转)
    学习:SharePoint编程提升权限的方法(转)
    SQL行列互换
    前台用js、jquery出现错误很多是由于IE缓存
    关于dialog首次加载的时候隐藏的一个问题
    要取某个对象的值,先要判断对象是否为空的简便写法(记)
    写js或者jquery的时候最重要的调试,再也不用alert弹出对象
    嵌入式软件测试的十大秘诀
    SIMULINK sfunction的设计
    关于java解压zip与rar的问题
  • 原文地址:https://www.cnblogs.com/rusking/p/4133476.html
Copyright © 2011-2022 走看看