亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

Oracle SQL*Loader 使用指南(轉載)

2024-08-29 13:48:15
字體:
來源:轉載
供稿:網友

   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

另外,也可以使用使用 UTL_FILE PL/SQL 包處理:
rem Remember to update initSID.ora, utl_file_dir='c:/oradata' parameter
declare
fp utl_file.file_type;
begin
fp := utl_file.fopen('c:/oradata','tab1.txt','w');
utl_file.putf(fp, '%s, %s/n', 'TextField', 55);
utl_file.fclose(fp);
end;
/

當然你也可以使用第三方工具,如SQLWays ,TOAD for Quest等。

加載可變長度或指定長度的記錄
如:
LOAD DATA
INFILE *
INTO TABLE load_delimited_data
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
( data1,
data2
)
BEGINDATA
11111,AAAAAAAAAA
22222,"A,B,C,D,"

下面是導入固定位置(固定長度)數據示例:
LOAD DATA
INFILE *
INTO TABLE load_positional_data
( data1 POSITION(1:5),
data2 POSITION(6:15)
)
BEGINDATA
11111AAAAAAAAAA
22222BBBBBBBBBB

跳過數據行:
可以用 "SKip n" 要害字來指定導入時可以跳過多少行數據。如:
LOAD DATA
INFILE *
INTO TABLE load_positional_data
SKIP 5
( data1 POSITION(1:5),
data2 POSITION(6:15)
)
BEGINDATA
11111AAAAAAAAAA
22222BBBBBBBBBB

導入數據時修改數據:
在導入數據到數據庫時,可以修改數據。注重,這僅適合于常規導入,并不適合 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
INFILE 'mydata.dat' BADFILE 'mydata.bad' DISCARDFILE 'mydata.dis'
APPEND
INTO TABLE my_selective_table
WHEN (01) <> 'H' and (01) <> 'T' and (30:37) = '19991217'
(
region CONSTANT '31',
service_key POSITION(01:11) INTEGER EXTERNAL,
call_b_no POSITION(12:29) CHAR
)

導入時跳過某些字段:
可用 POSTION(x:y) 來分隔數據. 在Oracle8i中可以通過指定 FILLER  字段實現。
FILLER 字段用來跳過、忽略導入數據文件中的字段.如:
LOAD DATA
TRUNCATE INTO TABLE T1
FIELDS TERMINATED BY ','
( field1,
field2 FILLER,
field3
)

導入多行記錄:
可以使用下面兩個選項之一來實現將多行數據導入為一個記錄:

CONCATENATE: - use when SQL*Loader should combine the same number of physical records together to form one logical 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),而直接將數據導入到數據文件中。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情免费在线| 国产99视频精品免视看7| 国产视频在线观看一区二区| 亚洲日本欧美中文幕| 欧美黑人巨大精品一区二区| 俺也去精品视频在线观看| 国产精品久久999| 日韩中文字幕在线视频| 色樱桃影院亚洲精品影院| 国产91对白在线播放| 欧洲亚洲免费在线| 久久免费视频观看| 精品久久久久久久久中文字幕| 久久6精品影院| 亚洲欧洲国产伦综合| 色吧影院999| 亚洲美女久久久| 久久精品国产亚洲精品2020| 亚洲va久久久噜噜噜| 日韩毛片在线看| 欧美激情a在线| 中文字幕一区日韩电影| 久久在精品线影院精品国产| 国产精品第一区| 欧美日韩视频免费播放| 51精品国产黑色丝袜高跟鞋| 精品女同一区二区三区在线播放| 精品日韩视频在线观看| 国产手机视频精品| 亚洲精品国产拍免费91在线| 成人在线免费观看视视频| 国产亚洲精品日韩| 久久视频在线观看免费| 精品欧美aⅴ在线网站| 亚洲精品www久久久| 国产精品精品一区二区三区午夜版| 久久久久久久999精品视频| 久久久国产成人精品| 亚洲欧美国产精品专区久久| 日韩av中文字幕在线播放| 亚洲欧洲高清在线| 欧美亚洲国产视频小说| 国产日韩视频在线观看| 日韩成人av在线| 精品久久久久久久中文字幕| 91伊人影院在线播放| 国产精品自拍小视频| 91在线观看免费高清完整版在线观看| 国产最新精品视频| 91免费视频国产| 久久综合伊人77777| 国产精品久久久久77777| 精品五月天久久| 91网站免费看| 亚洲精品wwwww| 欧美电影免费观看高清| 亚洲午夜久久久久久久| 九九久久久久久久久激情| 深夜福利国产精品| 91精品在线观看视频| 精品久久久久久久久久ntr影视| 亚洲精品久久久久| 亚洲欧美日韩图片| 欧美黑人xxxⅹ高潮交| 成人欧美一区二区三区在线| 精品国产一区二区三区久久久狼| 国产www精品| 日韩精品www| 国产精品v片在线观看不卡| 日韩av三级在线观看| 日韩亚洲欧美中文在线| 91色视频在线观看| 久久中文精品视频| 狠狠色噜噜狠狠狠狠97| 欧美性生活大片免费观看网址| 亚洲午夜av久久乱码| 日韩在线www| 麻豆一区二区在线观看| 国产美女高潮久久白浆| 国产91精品久久久久| 久久亚洲精品一区| 国产精品视频一区二区三区四| 亚洲国产精品高清久久久| 欧美亚洲另类制服自拍| 亚洲一区中文字幕在线观看| 国产91精品视频在线观看| 亚洲国产又黄又爽女人高潮的| 美女999久久久精品视频| 91视频国产高清| xxxxx成人.com| 国产精品高潮呻吟久久av无限| 2019中文在线观看| 亚洲国产欧美一区二区三区久久| 欧美日本精品在线| 亚洲欧美国产精品久久久久久久| 亚洲美女免费精品视频在线观看| 欧美大胆在线视频| 91在线高清免费观看| 亚洲午夜久久久久久久| 日韩美女免费观看| 秋霞午夜一区二区| 色婷婷成人综合| 九九热精品视频国产| 91亚洲永久免费精品| 视频在线观看一区二区| 久久久久久久久久婷婷| 亚洲一区二区三区乱码aⅴ| 日韩a**站在线观看| 欧美色xxxx| 日韩美女中文字幕| 一本色道久久88精品综合| 91国产美女视频| 国产成人精品免费视频| 欧美日韩中文字幕日韩欧美| 91在线精品视频| 日韩精品在线观看一区| 日韩中文字幕在线观看| 日韩成人激情影院| 国产欧美精品在线| 欧美猛交免费看| 亚洲成人精品视频在线观看| 欧美综合激情网| 久久免费视频在线观看| 538国产精品一区二区在线| 国产精品成人一区| 日韩中文字在线| 精品偷拍一区二区三区在线看| 欧美在线视频观看免费网站| 亚洲肉体裸体xxxx137| 亚洲国产天堂久久国产91| 欧美精品亚州精品| 国产精品观看在线亚洲人成网| 在线观看国产精品91| 91在线精品播放| 日韩成人在线电影网| 国产一区二区三区丝袜| 国外成人免费在线播放| 色综合视频一区中文字幕| 国产日韩一区在线| 国产亚洲美女久久| 欧美精品激情blacked18| 国产精品一久久香蕉国产线看观看| 91精品国产高清自在线看超| 国产suv精品一区二区三区88区| 国产精品美乳在线观看| 欧美在线视频在线播放完整版免费观看| 日韩在线视频观看正片免费网站| 富二代精品短视频| 久久成人亚洲精品| 久久久久久久999精品视频| 欧美日韩国产中文精品字幕自在自线| 91日本在线观看| 日韩av123| 日韩av免费在线看| 午夜精品久久久久久99热软件| 97av在线视频| 一本色道久久88综合亚洲精品ⅰ| 欧美精品激情在线观看| 欧美黑人一区二区三区| 久久香蕉精品香蕉| 国产97在线|日韩| 在线观看久久av| 欧美在线视频观看免费网站| 热门国产精品亚洲第一区在线|