Oracle SQL*Loader学习例子
来源:互联网 发布:奥迪矩阵式led大灯 编辑:程序博客网 时间:2024/05/17 22:48
- 例子所需材料
- 测试表
- 数据文件(.csv或.dat等格式,我们将使用.csv)
- control文件
- 创建测试表
假设我们有一张员工表EMP
create table EMP( EMPNO NUMBER(4) not null, ename VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4), HIREDATE DATE, SAL NUMBER(7,2), COMM NUMBER(7,2), DEPTNO NUMBER(2), VARCHAR2(10) )
- data文件case.csv
empno,firstname,lastname,job,mgr,sal,comm,deptno,hiredate2342,Tom,Smith,sr mag,8987,9090,10,25,12-Nov-992333,Jerry,Chan,advanced,9089,10000,10,26,12-Oct-99
- control文件case.ctl
OPTIONS (skip=1) --1LOAD DATAINFILE 'case.csv' --2REPLACE --3INTO TABLE emp --4fields terminated by ',' --5optionally enclosed by '"' --5(empno INTEGER EXTERNAL, --6firstname BOUNDFILLER, --7lastname BOUNDFILLER, ename EXPRESSION "UPPER(:firstname) || ' ' || UPPER(:lastname)", --8job CHAR "UPPER(:job)", --9mgr INTEGER EXTERNAL,sal DECIMAL EXTERNAL,comm DECIMAL EXTERNAL,deptno INTEGER EXTERNAL,hiredate INTEGER EXTERNAL)
- Control文件标注解释
- 跳过第一行,即
empno,firstname,lastname,job,mgr,sal,comm,deptno,hiredate
- 指定
data file
- 表示
load
数据前先删除表中已有的全部数据,如果不想删除,要在原有表的基础上增加数据,则将REPLACE
改为APPEND
- 指定要插入数据的表
- 指定字段是由逗号分隔开的,但也有可能是双引号
INTEGER EXTERNAL
表示数据文件中的empno
必须是INTEGER
类型,EXTERNAL
不能省略Boundfiller
相当于定义了一个firstname变量并赋了值EXPRESSION "UPPER(:firstname) || ' ' || UPPER(:lastname)""
表示这个一个SQL表达式,因为用到boundfield,所以不能省略EXPRESSION- 调用
UPPER
函数将job
变成大写,注意不能省略双引号
- 跳过第一行,即
执行方法
打开case.ctl文件目录下打开cmd,输入>sqlldr username/password control=case.ctl
Example(20170331 Added)
Omit datatypes and use functions like decode and nvl2 to control fields.
OPTIONS(SKIP=1)LOAD DATAINFILE 'case.csv'REPLACE--insertINTO TABLE EMPFIELDS TERMINATED BY ','OPTIONALLY ENCloSED BY '"'(empno "1", --6 default value is 1firstname BOUNDFILLER, --7lastname BOUNDFILLER, ename EXPRESSION "UPPER(:firstname) || ' ' || UPPER(:lastname)", --8--job "UPPER(:job)", --9job "DECODE(:JOB, 'A', 'HIGH','D','LOW')", -- use decode functionmgr ,--"NVL2(:MGR,1,0)" ,--INTEGER EXTERNAL, -- use2 nvl functionsal ,comm ,deptno,hiredate DATE "YYYY-MM-DD") begindataempno,firstname,lastname,job,mgr,sal,comm,deptno,hiredate2342,Tom,Smith,A,123,9090,10,25,2017/01/012333,Jerry,Chan,D,9089,10000,10,26,2017/01/02
0 0
- Oracle SQL*Loader学习例子
- Oracle SQL*Loader 学习实例
- 学习oracle sql loader 的使用
- 学习oracle sql loader 的使用
- 学习oracle sql loader 的使用
- 学习oracle sql loader 的使用
- 学习oracle sql loader 的使用
- Oracle Sql Loader的学习使用
- 学习Oracle SQL loader 的使用
- 学习Oracle SQL loader 的使用
- [Oracle] SQL*Loader 详细使用教程(5)- 典型例子
- [Oracle] SQL*Loader 详细使用教程(5)- 典型例子
- Oracle SQL*Loader 使用指南
- Oracle sql*loader 使用指南
- oracle sql*loader使用方法
- Oracle SQL*Loader FAQ
- Oracle SQL*Loader 使用指南
- Oracle 的SQL*LOADER
- 17 - 03 - 19 图解HTTP(23)
- 洛谷 P1059 明明的随机数
- MIPS架构之start.s汇编分析
- Oracle ROWNUM用法和分页查询总结
- Python切片工具 pillow
- Oracle SQL*Loader学习例子
- MaterialRefreshLayout下拉刷新,上拉加载更多(修改)
- 互联网公司校招Java面试题总结及答案——网易
- Java ThreadLocal
- ZCMU-1342-Two Semiknights Meet
- 第一个QT应用的实现-tslib1.4移植
- sharesdk修改UI界面
- openCV实现图片的时钟和中心圆形扩大效果
- 【Qt】槽函数中获取发出信号的对象