Oracle数据库导入外部数据如何实现


SQL*Loader是Oracle数据库导入外部数据的一个工具.它和DB2的Load工具相似,但有更多的选择,它支持变化的加载模式,可选的加载及多表加载.

  如何使用 SQL*Loader 工具

  我们可以用Oracle的sqlldr工具来导入数据。例如:

  sqlldr scott/tiger control=loader.ctl

  控制文件(loader.ctl) 将加载一个外部数据文件(含分隔符). loader.ctl如下:


  load data
  infile 'c:\data\mydata.csv'
  into table emp
  fields terminated by "," optionally enclosed by '"'
  ( empno, empname, sal, deptno )

  mydata.csv 如下:


  10001,"Scott Tiger", 1000, 40
  10002,"Frank Naude", 500, 20

  下面是一个指定记录长度的示例控制文件。"*" 代表数据文件与此文件同名,即在后面使用BEGINDATA段来标识数据。


  load data
  infile *
  replace
  into table departments
  ( dept position (02:05) char(4),
  deptname position (08:27) char(20)
  )
  begindata
  COSC COMPUTER SCIENCE
  ENGL ENGLISH LITERATURE
  MATH MATHEMATICS
  POLY POLITICAL SCIENCE

  Unloader这样的工具

  Oracle 没有提供将数据导出到一个文件的工具。但是,我们可以用SQL*Plus的select 及 format 数据来输出到一个文件:


  set echo off newpage 0 space 0 pagesize 0 feed off head off trimspool on
  spool oradata.txt
  select col1 || ',' || col2 || ',' || col3
  from tab1
  where col2 = 'XYZ';
  spool off


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3