设为首页 加入收藏

TOP

详细讲解Oracle SQL*Loader的使用方法(二)
2014-11-24 02:42:28 来源: 作者: 【 】 浏览:1
Tags:详细 讲解 Oracle SQL Loader 使用方法
ical record.

CONTINUEIF - use if a condition indicates that multiple records should be treated as one. Eg. by having a # character in column 1.

SQL*Loader 数据的提交:

一般情况下是在导入数据文件数据后提交的。

也可以通过指定 ROWS= 参数来指定每次提交记录数。

提高 SQL*Loader 的性能:

1) 一个简单而容易忽略的问题是,没有对导入的表使用任何索引和/或约束(主键)。如果这样做,甚至在使用ROWS=参数时,会很明显降低数据库导入性能。

2) 可以添加 DIRECT=TRUE来提高导入数据的性能。当然,在很多情况下,不能使用此参数。

3) 通过指定 UNRECOVERABLE选项,可以关闭数据库的日志。这个选项只能和 direct 一起使用。

4) 可以同时运行多个导入任务.

常规导入与direct导入方式的区别:

常规导入可以通过使用 INSERT语句来导入数据。Direct导入可以跳过数据库的相关逻辑(DIRECT=TRUE),而直接将数据导入到数据文件中。


导入数据时修改数据:


在导入数据到数据库时,可以修改数据。注意,这仅适合于常规导入,并不适合 direct导入方式.如:


LOAD DATA


INFILE *


INTO TABLE modified_data


( rec_no "my_db_sequence.nextval",


region CONSTANT 31,


time_loaded "to_char(SYSDATE, HH24:MI)",


data1 POSITION(1:5) ":data1/100",


data2 POSITION(6:15) "upper(:data2)",


data3 POSITION(16:22)"to_date(:data3, YYMMDD)"


)


BEGINDATA


11111AAAAAAAAAA991201


22222BBBBBBBBBB990112

LOAD DATA


INFILE mail_orders.txt


BADFILE bad_orders.txt


APPEND


INTO TABLE mailing_list


FIELDS TERMINATED BY ","


( addr,


city,


state,


zipcode,


mailing_addr "decode(:mailing_addr, null, :addr, :mailing_addr)",


mailing_city "decode(:mailing_city, null, :city, :mailing_city)",


mailing_state


)

将数据导入多个表:


如:


LOAD DATA


INFILE *


REPLACE


INTO TABLE emp


WHEN empno !=


( empno POSITION(1:4) INTEGER EXTERNAL,


ename POSITION(6:15) CHAR,


deptno POSITION(17:18) CHAR,


mgr POSITION(20:23) INTEGER EXTERNAL


)


INTO TABLE proj


WHEN projno !=


( projno POSITION(25:27) INTEGER EXTERNAL,


empno POSITION(1:4) INTEGER EXTERNAL


)


导入选定的记录:


如下例: (01) 代表第一个字符, (30:37) 代表30到37之间的字符:


LOAD DATA


INFIL

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇完全卸载和正确安装oracle 下一篇Oracle学习之单行函数

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: