導(dǎo)入實(shí)用程序使用SQL INSERT語(yǔ)句向表、類型表或視圖填充數(shù)據(jù)。如果接收導(dǎo)入數(shù)據(jù)的表或視圖已包含數(shù)據(jù),那么輸入數(shù)據(jù)可替換現(xiàn)有數(shù)據(jù),也可追加至現(xiàn)有數(shù)據(jù)。
目前成都創(chuàng)新互聯(lián)公司已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、綿陽(yáng)服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、慶元網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
IMPORT FROM filename OF { IXF | ASC | DEL | WSF }
[ LOBS FROM lob-path[{,lob-path}…] ]
[ XML FROM xml-path[{,xml-path}…] ]
[ MODIFIED BY filetype-mod … ]
[ METHOD{ L( col-start col-end[{,col-start col-end}…] )
[NULL INDICATORS ( col-position[{,col-position}…] )] |
N( col-name[{,col-name}…] ) |
P( col-position[{,col-position}…] )
}
]
[ XMLPARSE { STRIP | PRESERVE } WHITESPACE ]
[ XMLVALIDATE USING
{XDS [ DEFAULT schema-sqlid ]
[ IGNORE (schema-sqlid[{,schema-sqlid}…])]
[MAP
( (schema-sqlid,schema-sqlid)
[{(schema-sqlid,schema-sqlid)}…]
)
] |
SCHEMA schema-sqlid |
SCHEMALOCATION HINTS
}
]
[ allow { NO | WRITE } ACCESS ]
[ COMMITCOUNT {n | AUTOMATIC} ]
[ {RESTARTCOUNT | SKIPCOUNT} n ] [ ROWCOUNT n ] [ WARNINGCOUNT n ]
[ NOTIMEOUT ]
[ MESSAGES message-file ]
{ { INSERT | INSERT_UPDATE | REPLACE | REPLACE_CREATE }
INTO {table-name[(insert-column,…)] | hierarchy-description} |
CREATE INTO { table-name[(insert-column,…)] |
hierarchy-description
{ AS ROOT TABLE | UNDER sub-table-name }
[ IN tablespace-name [ INDEX IN tablespace-name ]
[ LONG IN tablespace-name ]
]
}
}
filetype-mod:
COMPOUND=x、INDEXSCHEMA=schema、FORCEIN、INDEXIXF、IMPLIEDDECIMAL、
NOCHECKLENGTHS、NOEOFCHAR、NULLINDCHAR=x、RECLEN=x、STRIPTBLANKS、
STRIPTNULLS、NO_TYPE_ID、NODOUBLEDEL、LOBSINFILE、USEDEFAULTS、
CHARDELx、COLDELx、DLDELx、DECPLUSBLANK、DECPTx、DATESISO、
DELPRIORITYCHAR、IDENTITYMISSING、IDENTITYIGNORE、
GENERATEDMISSING、GENERATEDIGNORE、DATEFORMAT=x、TIMEFORMAT=x、
TIMESTAMPFORMAT=x、KEEPBLANKS、CODEPAGE=x、NOROWWARNINGS、
NOCHARDEL、NODEFAULTS、USEGRAPHICCODEPAGE、FORCECREATE、XMLCHAR、
XMLGRAPHIC、SECLABELCHAR和 SECLABELNAME
hierarchy-description:
{ ALL TABLES | ( sub-table-name [(insert-column,…)],… ) } [IN]
HIERARCHY { STARTING sub-table-name | ( sub-table-name,… ) }
說(shuō)明:
1、MODIFIED BY子句指定文件類型修飾符以更改數(shù)據(jù)格式,告訴IMPORT實(shí)用程序如何處理數(shù)據(jù)以改進(jìn)性能。
2、缺省情況下,IMPORT實(shí)用程序直到導(dǎo)入成功才執(zhí)行落實(shí),但某些ALLOW WRITE ACCESS導(dǎo)入例外。雖然這會(huì)改變導(dǎo)入速度,但考慮到并行性、可重新啟動(dòng)性及活動(dòng)日志空間注意事項(xiàng),最好指定落實(shí)在導(dǎo)入期間進(jìn)行。其中一種方法是將COMMITCOUNT參數(shù)設(shè)置為“automatic”,這會(huì)指示IMPORT在內(nèi)部確定何時(shí)應(yīng)執(zhí)行落實(shí)?;蛘邔OMMITCOUNT設(shè)置為特定數(shù)字,指示IMPORT在達(dá)到指定的已導(dǎo)入記錄數(shù)時(shí)執(zhí)行一次落實(shí)。
3、因?yàn)镮MPORT實(shí)用程序是嵌入式SQL應(yīng)用程序并且以內(nèi)部方式執(zhí)行SQL訪存,所以應(yīng)用于SQL操作的優(yōu)化會(huì)同時(shí)應(yīng)用于IMPORT??墒褂胏ompound文件類型修飾符以便一次插入指定數(shù)目的行,而不是按缺省方式逐行插入。如果預(yù)計(jì)導(dǎo)入期間會(huì)生成大量警告(并因此導(dǎo)致操作變慢),可指定norowwarnings文件類型修飾符以抑制有關(guān)被拒絕行的警告。
4、MESSAGES參數(shù)指定消息文件,在導(dǎo)入期間,會(huì)編寫標(biāo)準(zhǔn)ASCII文本消息文件以包含與該操作相關(guān)的錯(cuò)誤消息、警告消息和參考消息??梢栽趯?dǎo)入正在進(jìn)行時(shí)訪問(wèn)消息文件,以對(duì)導(dǎo)入進(jìn)度進(jìn)行監(jiān)視。如果導(dǎo)入操作失敗,那么可使用消息文件來(lái)確定重新啟動(dòng)位置,原因是消息文件會(huì)指示成功導(dǎo)入的最后一行。注:如果針對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)的導(dǎo)入操作生成的輸出消息量超過(guò)60KB,那么該實(shí)用程序會(huì)保留前30KB和后30KB。
一、IMPORT的五種方式:
導(dǎo)入可使用五種方式,它們用于確定導(dǎo)入數(shù)據(jù)的方法。前三種方式為INSERT、INSERT_UPDATE和REPLACE,在目標(biāo)表已存在的情況下使用。這三種方式都支持IXF、WSF、ASC和DEL數(shù)據(jù)格式。但是,只有INSERT和INSERT_UPDATE可與昵稱配合使用。
INSERT |
將輸入數(shù)據(jù)插入到目標(biāo)表中而不更改現(xiàn)有數(shù)據(jù) |
INSERT_UPDATE |
使用輸入行的值更新具有匹配主鍵值的行,如果沒(méi)有匹配行,那么會(huì)將已導(dǎo)入行插入到表中。 |
REPLACE |
刪除所有現(xiàn)有數(shù)據(jù)并插入已導(dǎo)入數(shù)據(jù),同時(shí)保留表和索引定義 |
另外兩種方式為REPLACE_CREATE和CREATE,在目標(biāo)表不存在時(shí)使用。它們只能與PC/IXF格式的輸入文件配合使用,此格式包含要?jiǎng)?chuàng)建的表的結(jié)構(gòu)描述。如果對(duì)象表具有自身以外的任何從屬,那么不能以這些方式執(zhí)行導(dǎo)入。建議不使用IMPORT的CREATE和REPLACE_CREATE方式,改用db2look實(shí)用程序。
REPLACE_CREATE |
刪除所有現(xiàn)有數(shù)據(jù)并插入已導(dǎo)入數(shù)據(jù),同時(shí)保留表和索引定義;如果目標(biāo)表和索引不存在,那么創(chuàng)建目標(biāo)表和索引 |
CREATE |
創(chuàng)建目標(biāo)表和索引;可指定在其中創(chuàng)建新表的表空間名稱 |
二、IMPORT工作步驟:
1、鎖定表
根據(jù)是否允許對(duì)表進(jìn)行并行訪問(wèn),IMPORT會(huì)獲取對(duì)現(xiàn)有目標(biāo)表的獨(dú)占(X)或非獨(dú)占(IX)鎖定。
2、查找和檢索數(shù)據(jù)
IMPORT使用FROM子句來(lái)查找輸入數(shù)據(jù)。如果命令指示XML或LOB數(shù)據(jù)存在,那么IMPORT會(huì)查找此數(shù)據(jù)。
3、插入數(shù)據(jù)
IMPORT會(huì)替換現(xiàn)有數(shù)據(jù)或?qū)⑿碌臄?shù)據(jù)行添加至表。
4、檢查約束和激發(fā)觸發(fā)器
寫入數(shù)據(jù)后,IMPORT會(huì)確保每個(gè)已插入行符合針對(duì)目標(biāo)表定義的約束。有關(guān)被拒絕行的信息將寫至消息文件。IMPORT還會(huì)激發(fā)現(xiàn)有觸發(fā)器。
5、落實(shí)操作
IMPORT會(huì)保存所作更改并釋放針對(duì)目標(biāo)表的鎖定。還可指定在導(dǎo)入期間定期落實(shí)。
三、IMPORT所需權(quán)限
憑借DATAACCESS權(quán)限可以執(zhí)行任何類型的導(dǎo)入操作。以下是執(zhí)行相應(yīng)導(dǎo)入類型的其他權(quán)限:
INSERT |
CONTROL或INSERT和SELECT |
INSERT_UPDATE |
CONTROL或INSERT、SELECT、UPDATE、DELETE |
REPLACE |
CONTROL或INSERT、SELECT、DELETE |
REPLACE_CREATE |
目標(biāo)表存在時(shí):CONTROL或INSERT、SELECT、DELETE 目標(biāo)表不存在時(shí):CREATETAB(針對(duì)數(shù)據(jù)庫(kù))、USE(針對(duì)表空間),以及模式不存在時(shí):IMPLICIT_SCHEMA(針對(duì)數(shù)據(jù)庫(kù))或模式存在時(shí):CREATEIN(針對(duì)模式) |
CREATE |
CREATETAB(針對(duì)數(shù)據(jù)庫(kù))和USE(針對(duì)表空間),以及模式不存在時(shí):IMPLICIT_SCHEMA(針對(duì)數(shù)據(jù)庫(kù))或模式存在時(shí):CREATEIN(針對(duì)模式) |
示例:將sample數(shù)據(jù)庫(kù)中的staff表導(dǎo)入到test數(shù)據(jù)庫(kù)中。
D:\>db2 export to myfile.ixf of ixf messages msg.txt select * from staff --導(dǎo)出sample數(shù)據(jù)庫(kù)中staff表數(shù)據(jù)
導(dǎo)出的行數(shù):35
D:\>db2look -d sample -e -t staff -o staff.dml –-獲得DDL
-- USER是: *******
-- db2look實(shí)用程序?qū)⒅豢紤]指定的表
--正在創(chuàng)建表的 DDL
--輸出被發(fā)送到文件: staff.dml
--正在自動(dòng)綁定程序包 ...
--綁定成功
--正在自動(dòng)綁定程序包 ...
--綁定成功
其中的DDL內(nèi)容如下:
CREATE TABLE "******"."STAFF" (
"ID" SMALLINT NOT NULL ,
"NAME" VARCHAR(9) ,
"DEPT" SMALLINT ,
"JOB" CHAR(5) ,
"YEARS" SMALLINT ,
"SALARY" DECIMAL(7,2) ,
"COMM" DECIMAL(7,2) )
IN "USERSPACE1" ;
根據(jù)DDL,在test數(shù)據(jù)庫(kù)中創(chuàng)建staff表。
D:\>db2 import from myfile.ixf of ixf messages msg2.txt insert into staff --向test數(shù)據(jù)庫(kù)中的staff表導(dǎo)入數(shù)據(jù)
讀取行數(shù) = 35
跳過(guò)行數(shù) = 0
插入行數(shù) = 35
更新行數(shù) = 0
拒絕行數(shù) = 0
落實(shí)行數(shù) = 35
D:\>db2 select * from staff --驗(yàn)證導(dǎo)入結(jié)果
id name dept job years salary comm
------ --------- ------ ----- ------ --------- ---------
10 Sanders 20 Mgr 7 98357.50 -
20 Pernal 20 Sales 8 78171.25 612.45
30 Marenghi 38 Mgr 5 77506.75 -
40 O'Brien 38 Sales 6 78006.00 846.55
50 Hanes 15 Mgr 10 80659.80 -
60 Quigley 38 Sales - 66808.30 650.25
70 Rothman 15 Sales 7 76502.83 1152.00
80 James 20 Clerk - 43504.60 128.20
90 Koonitz 42 Sales 6 38001.75 1386.70
100 Plotz 42 Mgr 7 78352.80 -
110 Ngan 15 Clerk 5 42508.20 206.60
120 Naughton 38 Clerk - 42954.75 180.00
130 Yamaguchi 42 Clerk 6 40505.90 75.60
140 Fraye 51 Mgr 6 91150.00 -
150 Williams 51 Sales 6 79456.50 637.65
160 Molinare 10 Mgr 7 82959.20 -
170 Kermisch 15 Clerk 4 42258.50 110.10
180 Abrahams 38 Clerk 3 37009.75 236.50
190 Sneider 20 Clerk 8 34252.75 126.50
200 Scoutten 42 Clerk - 41508.60 84.20
210 Lu 10 Mgr 10 90010.00 -
220 Smith 51 Sales 7 87654.50 992.80
230 Lundquist 51 Clerk 3 83369.80 189.65
240 Daniels 10 Mgr 5 79260.25 -
250 Wheeler 51 Clerk 6 74460.00 513.30
260 Jones 10 Mgr 12 81234.00 -
270 Lea 66 Mgr 9 88555.50 -
280 Wilson 66 Sales 9 78674.50 811.50
290 Quill 84 Mgr 10 89818.00 -
300 Davis 84 Sales 5 65454.50 806.10
310 Graham 66 Sales 13 71000.00 200.30
320 Gonzales 66 Sales 4 76858.20 844.00
330 Burke 66 Clerk 1 49988.00 55.50
340 Edwards 84 Sales 7 67844.00 1285.00
350 Gafney 84 Clerk 5 43030.50 188.00
35條記錄已選擇。
本文題目:DB2import詳解
網(wǎng)頁(yè)鏈接:http://chinadenli.net/article0/gidiio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、網(wǎng)站建設(shè)、網(wǎng)站改版、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)