SQLLoader4(数据文件中的列与表中列不一致情况-filler)
2024-08-27 07:31:05
A.数据文件中字段个数少于表中列字段个数,但数据文件中缺少的列,在表定义中可以为空。
----- 这种情况是比较简单的,只需要将数据文件中数据对应的列的名字写到控制文件中即可。因为SQL*Loader是根据控制文件中给出的字段名字 和 数据文件中的字段的位置建立绑定并完成数据导入的。
B.数据文件中字段个数少于表中列字段个数,但数据文件中缺少的列,在表定义中不可以为空,必须赋值。
----- 这种情况相对来说稍稍麻烦,不能通过简单的位置绑定来完成映射和数据导入。
C.数据文件中的字段个数大于表中列字段的个数
-----在控制文件中使用filler参数过渡掉数据文件中不需要的列
============================================
1、数据文件中的字段小于表中的字段,且不允许为空
数据文件:
7369 SMITH CLERK
7499 ALLEN SALESMAN
7521 WARD SALESMAN
7566 JONE SMANAGER
控制文件:
LOAD DATA
INFILE 'D:\oracletest\ldr_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:\oracletest\ldr_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 这两个是随便命名的。
最新文章
- 【Git】简单地使用github当做远程共享仓库
- SignalR入门之小试身手
- 使用AOP 实现多数据源 切换
- UpdatePanel与$.function()同时使用问题
- 【HACK】破解APK并注入自己的代码
- fopen()功能
- /home 和 /root
- Python 3.5.1 Syntax &; APIs(Continue Updating..
- 双击CAD对象(具有扩展数据),显示自定义对话框实现方法
- 从JavaWeb危险字符过滤浅谈ESAPI使用
- 安装Manjaro KDE 18.04
- ubuntu14.04 安装 php Composer时 composer:未找到命令
- window.print控制打印样式
- 211. Orchard学习 二 2、ManualResetEvent 与 AutoResetEvent
- dokuwiki工具栏添加换行回车快捷键与按钮
- Duplicate &;lt;http&;gt; element detected
- IT管理就这么管
- Android开发经验02:Android 项目开发流程
- 使用Selenium慢慢向下滚动页面
- eclipse配置 嵌入式-基于linux