Oracle SQL*Loader学习例子

前端之家收集整理的这篇文章主要介绍了Oracle SQL*Loader学习例子前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  • 例子所需材料
    • 测试表
    • 数据文件(.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,DEPTNO NUMBER(2) )
empno,ename,job,mgr,sal,comm,deptno,hiredate
2342,Tom,sr mag,8987,9090,10,25,12-Nov-99
2333,Jerry,advanced,9089,10000,26,12-Oct-99
OPTIONS (skip=1)              --1
LOAD DATA INFILE 'case.csv' --2 REPLACE --3 INTO TABLE emp --4 fields terminated by ',' --5 optionally enclosed by '"' --5 (empno INTEGER EXTERNAL,--6 ename CHAR "UPPER(:ename)",--7 job CHAR,mgr INTEGER EXTERNAL,sal DECIMAL EXTERNAL,comm DECIMAL EXTERNAL,deptno INTEGER EXTERNAL,hiredate INTEGER EXTERNAL) --8
  • Control文件标注解释

    1. 跳过第一行,即empno,hiredate
    2. 指定data file
    3. 表示load数据前先删除表中已有的全部数据,如果不想删除,要在原有表的基础上增加数据,则将REPLACE改为APPEND
    4. 指定要插入数据的表
    5. 指定字段是由逗号分隔开的,但也有可能是双引号
    6. INTEGER EXTERNAL表示数据文件中的empno必须是INTEGER类型,EXTERNAL不能省略
    7. CHAR "UPPER(:ename)"表示数据文件中的enameCHAR 类型,并且插入到数据库自动将小写的ename转成大写,注意UPPER函数双括号不能省略
  • 执行方法
    打开case.ctl文件目录下打开cmd,输入
    >sqlldr username/password control=case.ctl

猜你在找的Oracle相关文章