亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

SQLLoader 使用小結(2)

系統 1899 0

在對數據文件進行導入的時候,可能會遇到文件比較特殊的情況(實驗所用表還是上篇文章的FRUITMARKET)

1. 如果要導入的文件中包含雙引號

    

1,Apple,¥4.00,"A_3"

2,Pear,¥3.00,"B_2"

3,Grape,¥6.00,"C_5"

4,Banana,¥6.00,"D_2"

?? ? fruit2.dat?

如果不想再數據庫中存放這些雙引號,就要加入OPTIONALLY ENCLOSED BY ?' " ' 語句

編寫控制文件

    LOAD DATA 
INFILE fruit2.dat
TRUNCATE INTO TABLE FRUITMARKET
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
(FID,FNAME,PRICE,ADDRESS)
  

?

??fruit2.ctl

執行SQLLDR命令SQLLDR SCOTT/tiger ?CONTROL=fruit2.ctl

結果:
SQLLoader 使用小結(2)

(不知道怎么回事在10g中¥符號不能被正常識別,這問題以后再說,大家可以注意一下數據文件中的雙引號已經被過濾掉了)

2. 導入的數據文件沒有明顯的分隔符

    1     Apple     ¥3.00      A_3
2     Pear      ¥2.00      B_2
3     Grape     ¥4.00      C_5
4     Banana    ¥6.00      D_2

  

?

?fruit3.dat?

編寫控制文件

    LOAD DATA 
INFILE fruit3.dat
TRUNCATE INTO TABLE FRUITMARKET
(
 FID position(1),
 FNAME position(7:12),
 PRICE position(17:21),
 ADDRESS position(28:32)
)
  
  

?

fruit3.ctl

這里position的位置是告訴SQLLDR,從哪到哪是一個字段,也就是指出字段的開始和結束位置,比較麻煩的就是還要數出空格的數量

結果:

?
SQLLoader 使用小結(2)
? 也可以在position語句中使用*,將上述的控制文件等價代換

    LOAD DATA 
INFILE fruit3.dat
TRUNCATE INTO TABLE FRUITMARKET
(
?FID position(1),
?FNAME position(*+5:12),
?PRICE position(*+4:21),
?ADDRESS position(*+6:32)
)
?
  

?*代表了上一個字段的結束位置加一,比如第二行的*就代表了1+1=2,也就是 2+5:12

?

3.還是這個例子,如果要將fruit的數據導入fruitmarket表中的時候還不知道fruit的address怎么辦

    1     Apple     $3.00      
2     Pear      $2.00    
3     Grape     $4.00      
4     Banana    $6.00      
  

??編寫控制文件

    LOAD DATA
INFILE fruit4.dat
TRUNCATE INTO TABLE FRUITMARKET
(
 FID position(1),
 FNAME position(7:12),
 PRICE position(17:21),
 ADDRESS "NULL"
)
  

?

?此時可以暫時將ADDRESS值設為NULL,在這個位置0也是允許的值,不過在這里ADDRESS設為0會有點奇怪

結果:


SQLLoader 使用小結(2)

4. 如果數據文件中有多余數據的情況

    1     Apple     $3.00       zhangsan    A_3  
2     Pear      $2.00       lisi                 B_2 
3     Grape     $4.00       zhangsan    C_5 
4     Banana    $6.00     lisi              D_2

  

(在編輯器中后面的字符沒法對齊,但是正式導入的時候最好要對齊,否則會加大工作量)


fruit5.dat?

編寫控制文件:

?

?

    LOAD DATA
INFILE fruit5.dat
TRUNCATE INTO TABLE FRUITMARKET
(
   FID position(1),
   FNAME position(7:12),
   PRICE position(17:21),
   ADDRESS position(39:41)
)
  

?

?

?只要這樣指定字段的長度就可以了

?還有要注意一點就是如果在有分隔符的情況下存在多余的數據

?

    1,Apple,$3.00,zhangsan, A_3 
2,Pear,$2.00,lisi,B_2 
3,Grape,$4.00,zhangsan,C_5 
4,Banana,$6.00,lisi,D_2 

  

?

?那么就要修改控制文件

    LOAD DATA 
INFILE fruit5.dat 
TRUNCATE INTO TABLE FRUITMARKET 
FIELDS TERMINATED BY "," 
( FID,FNAME,PRICE,FILLER,ADDRESS ) 


  

?

?用FILLER關鍵字來過濾掉不需要的字段

?

?

?

?

?

?

SQLLoader 使用小結(2)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲手机中文字幕 | 色综合天天综一个色天天综合网 | 久久久久国产成人精品亚洲午夜 | 久久亚洲综合中文字幕 | 国产成人亚洲欧美三区综合 | 日韩欧美精品中文字幕 | 夜夜爱夜夜爽夜夜做夜夜欢 | 欧美激情久久欧美激情 | 成人在线精品 | 京野结衣免费一区二区 | 免费成人一级片 | 日本老太做爰xx | 日本黄大片影院一区二区 | 国产综合色在线视频区色吧图片 | 国产高清视频在线播放 | 国产或人精品日本亚洲77美色 | 天天综合亚洲国产色 | 中文字幕日本精品一区二区三区 | 91久久免费视频 | 亚欧毛片基地国产毛片基地 | 99国产视频 | 91系列在线| 久久精品国产精品亚洲毛片 | 性孕妇video国产中国 | 国产在线观看91 | 国产日韩欧美在线一区二区三区 | 日韩欧美中文字幕在线视频 | 日本波多野结衣在线 | 狼人香蕉香蕉在线视频播放 | 九九视频免费看 | 在线视频欧美精品 | 中文字幕日韩一区 | 日韩成人综合网 | 久久精品亚洲综合一品 | 国产成人一区二区三区在线视频 | 日韩欧美视频在线一区二区 | 爱爱免费播放视频在线观看 | 日本高清中文字幕在线观穿线视频 | 久草在线视频看看 | 亚洲一二三区在线观看 | 国产精品999在线 |