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

SQLLoader 使用小結(2)

系統 2242 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條評論
主站蜘蛛池模板: 久久亚洲私人国产精品 | 国产精品合集久久久久青苹果 | 日韩欧美精品一区二区 | 天天操天天爱天天干 | 日韩高清在线日韩大片观看网址 | 欧美大成色www永久网站 | 久久久精品一区 | 激情宗合网 | 国产精品久久久久久久久久久不卡 | 色优久久 | 成人a免费α片在线视频网站 | 国产精品视频一区二区三区经 | 成人精品亚洲人成在线 | 亚洲在线视频免费观看 | 亚洲一区不卡视频 | 欧美80岁老妇一级毛片 | 国产全黄a一级毛片视频 | 夜夜爱夜夜做 | 欧美成年黄网站色视频 | 毛片免费在线视频 | 色老头网站久久网 | 国产免费观看a大片的网站 国产免费精彩视频 | 亚洲精品第一国产麻豆 | 欧美一级毛片免费高清的 | 人成午夜免费大片在线观看 | 天天草天天干天天 | 亚洲码在线中文在线观看 | 8848hh四虎免费 | 一级高清在线观看影片 | 国产精品免费一区二区三区四区 | a一级日本特黄aaa大片 | 激情九月天 | 亚洲成a| 国产精品va| 欧美日韩免费大片 | 国产精品免费观看 | 欧美a在线 | 国产大片91精品免费看3 | 日日噜噜噜夜夜爽爽狠狠图片 | 婷婷国产天堂久久综合五月 | 99久久精品国产片久人 |