首页 > 代码库 > SQLLoader4(数据文件中的列与表中列不一致情况-filler)
SQLLoader4(数据文件中的列与表中列不一致情况-filler)
A.数据文件中字段个数少于表中列字段个数,但数据文件中缺少的列,在表定义中可以为空。
----- 这种情况是比较简单的,只需要将数据文件中数据对应的列的名字写到控制文件中即可。因为SQL*Loader是根据控制文件中给出的字段名字 和 数据文件中的字段的位置建立绑定并完成数据导入的。
B.数据文件中字段个数少于表中列字段个数,但数据文件中缺少的列,在表定义中不可以为空,必须赋值。
----- 这种情况相对来说稍稍麻烦,不能通过简单的位置绑定来完成映射和数据导入。
C.数据文件中的字段个数大于表中列字段的个数
-----在控制文件中使用filler参数过渡掉数据文件中不需要的列
============================================
1、数据文件中的字段小于表中的字段,且不允许为空
数据文件:
7369 SMITH CLERK
7499 ALLEN SALESMAN
7521 WARD SALESMAN
7566 JONE SMANAGER
控制文件:
LOAD DATAINFILE ‘D:\oracletest\ldr_tab_fiile.dat‘REPLACEINTO TABLE EMP2fields 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 DATAINFILE ‘D:\oracletest\ldr_tab_fiile.dat‘REPLACEINTO TABLE EMP2fields terminated by whitespace TRAILING NULLCOLS --如要导入源文件此列内容为空,在导入到数据库表中,此列内容就是null(EMPNO,DATA_COL2 FILLER,ENAME,DATA_COL4 FILLER,JOB,COMM "1" )
====
DATA_COL2、DATA_COL4 这两个是随便命名的。
SQLLoader4(数据文件中的列与表中列不一致情况-filler)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。