匯入的檔案,一般如果只有簡單的英文和數字,並不會有太大問題,但是如果匯入的資料中,有包含以下狀況,則要注意 :
1. 逗號 (,)
2. 中文字 (內容或標題)
3. 特殊符號 ( Ø )
第一種  逗號 (,) 如果要資訊中含有 , 要分格欄位的字元就無法用 , 可能用EXCEL 新增欄位合併來取代 如 A1&"^"&B1&"^"&C1, 將欄位複製到 TXT UFT-8 檔案中。
第二種 中文字 中文字或特殊符號,轉入的文字檔記得需要改為 UTF-8 的文字檔才行 , ANSI 或是 Unicode的檔案 均無法支援 4GL 的 Load File .
第三種 特殊符號同中文字處理。
另外要注意的
1. Select 語法在區別時,除了第一列與最後一列外,其餘的寫法都比照新增即可。僅需注意最後一列寫法。
2. EXCEL 貼入文字檔時,亦不可整欄複製。要選取特定範圍複製。
範例如下 : 

準備UTF-8 TXT文字檔

DECLARE p160_s1_c CURSOR WITH HOLD FOR
SELECT
   substr(tme01,1,                         instr(tme01,'^',1,1)-1),                                  # 品號
   substr(tme01,instr(tme01,'^',1,1)+1,instr(tme01,'^',1,2)-instr(tme01,'^',1,1)-1) ,   # REF
   substr(tme01,instr(tme01,'^',1,2)+1,instr(tme01,'^',1,3)-instr(tme01,'^',1,2)-1) ,   # 版次    
   substr(tme01,instr(tme01,'^',1,3)+1,instr(tme01,'^',1,4)-instr(tme01,'^',1,3)-1) ,   # 警示
   substr(tme01,instr(tme01,'^',-1,1)+1,length(tme01)-instr(tme01,'^',-1,1))  # 條碼格式
 FROM tme_file 
 WHERE tme01 not in (select tme01 from tme_file where rownum = 1) and tme01 not like '^^%'

說明 :
  1. 利用 ^ 區隔欄位
  2. select tme01 from tme_file where rownum = 1) 表示第一列,標題不轉入
  3. ^^ 表示有該筆為空白 不轉入
 

DEFINE sr RECORD
      ima01     LIKE ima_file.ima01,      # 品號
      ta_ima200 LIKE ima_file.ta_ima200,  # REF
      ta_ima201 LIKE ima_file.ta_ima201,  # 版次
      ta_ima202 LIKE ima_file.ta_ima202,  # 警示
      ta_ima260 LIKE ima_file.ta_ima260   # 內條碼格式                
  END RECORD

FOREACH p160_s1_c INTO sr.*

    UPDATE ima_file
    SET ta_ima200 = sr.ta_ima200,  # REF
          ta_ima201 = sr.ta_ima201,  # 版次
          ta_ima202 = sr.ta_ima202,  # 警示
          ta_ima260 = sr.ta_ima260   # 內條碼格式
    WHERE ima01 =  sr.ima01
                               
END FOREACH

以上,處理就可將 ima_file 的 ta_ima200, ta_ima202, ta_ima202, ta_ima260 更新。

文章標籤
全站熱搜
創作者介紹
創作者 Genero 的頭像
Genero

Genero 的部落格

Genero 發表在 痞客邦 留言(2) 人氣(1,572)