2009年1月16日 星期五

Export 與 Import 語法 概要

EXPORT Utility 語法:

EXPORT TO file-name OF file-type {DEL|ASC|IXF|WSF}

[METHOD N (column names…)]

MESSAGES log-file-name

SQL-COMMEND

 

  • File-name:匯出之檔案名稱,附檔名同file-type
  • File-type:匯出之檔案格式,有DELASCIXFWSF四種匯出之檔案格式。
  • METHOD N (column names…):指定欄位名稱;這個選項只對IXFWSF格式有效。
  • Log-file-namelog之檔案名稱。
  • SQL-COMMENT:一般的查詢指令。

 

EXPORT Utility 範例:

EXPORT TO "C:/FBAMCTMP/DATA/AMC_CUST_MAINTAIN.ixf" OF IXF

METHOD N (main_seq,name,id,resi_addr,live_addr,c_tel,l_tel,cel_tel,other_tel,ch_date)

MESSAGES "C:/FBAMCTMP/LOG/AMC2FB.ExportLog.txt"

"SELECT * FROM CUST_MAINTAIN where main_seq like 'A%'"

 

IMPORT Utility 語法:

IMPORT FROM file-name OF file-type {DEL|ASC|IXF|WSF}

[[METHOD L(start end…)]|[METHOD N(column name…)]| [METHOD P(column num…)]]

[COMMITCOUNT num] [RESTARRTCOUNT num]

MESSAGES log-file-name

{INSERT|INSERT_UPDATE|REPLACE|CREATE|REPLACE_CREATE} INTO table-name

 

  • File-name:匯入之檔案名稱,附檔名同file-type
  • File-type:匯入之檔案格式,有DELASCIXFWSF四種匯入之檔案格式。
  • METHOD L(start end…):指定每個欄位的起始與結束位置。只適用於ASC格式的檔案。如:

 

IMPORT FROM customer.asc OF ASC METHOD L (1 10, 12 15)

INSERT INTO db2admin2.cust

  • METHOD N (column names…):指定欄位名稱;這個選項只適用IXF格式。如:

 

IMPORT FROM customer.ixf OF IXF METHOD N (cl1, cl2, cl3)

INSERT INTO db2admin.cust (cl1, cl2, cl3)

 

  • METHOD P(column num…):指定欄位的號碼;只適用於IXFDEL格式。如:

 

IMPORT FROM customer.del OF DEL METHOD P (1, 3, 4)

INSERT INTO db2admin.cust (cl1, cl3, cl4)

 

  • COMMITCOUNT num:指定commitcount數;如commitcount 1000,會以每1000筆資料列當成一筆交易作確認(Commit)
  • RESTARRTCOUNT num:指定要從資料檔的第幾筆資料列開始匯入資料。如下面的例子會從資料檔的第1001筆資料開始匯入:

 

IMPORT FROM customer.ixf OF IXF

RESTARTCOUNT 1001 INSERT INTO db2admin.customer

 

下面例子要IMPORT指令跳過檔案中的300筆資料,從第301筆資料開始匯入。在匯入的過程中,每匯入50筆資料會做一次Commit

 

IMPORT FROM customer.ixf OF IXF

COMMITCOUNT 50 RESTARTCOUNT 300

MESSAGE import.msg

INSERT INTO db2admin.customer

 

  • {INSERT|INSERT_UPDATE|REPLACE|CREATE|REPLACE_CREATE}

 

1.      INSERT 新增模式

匯入的方式以INSERT INTO子句來新增資料至要匯入的表格中,若匯入的資料已存在表格中時,那匯入公用程式就會忽略這些資料(即表格中現存的資料不會受到影響)

註:使用PK來判斷資料是否已存在

2.      INSERT_UPDATE 新增-修改模式

INSERT模式不同之處在於如果已有存在的資料時,那匯入公用程式就會以UPDATE更新PK以外的其欄位的DATA。當然那些不存在的資料仍以INSERT INTO子句來新增資料。

3.      REPLACE 覆寫模式

INSERTINSERT_UPDATE完全不相同,匯入公用程式會先將表格中所有橫列先用DELETE刪除後再INSERT INTO新增資料(所有現存的資料列會被刪除)

以上三種都支援匯出的三種檔案格式。以下僅支援IXF格式。

4.      CREATE 建立模式

當使用IXF檔案格式時,*.IXF檔案會記錄著表格的結構與資料,當匯入的表格中若不存在時,可以使用IXF格式的檔案來建立表格的結構並且將DATA一同新增到表格中。

5.      REPLACE_CREATE 覆寫-建立模式

若表格不存在時,其方式和CREATE模式相同,若表格存在時那就會使用REPLACE的方式將表格中資料先DELETE刪除INSERT INTO新增資料表格中。

 

IMPORT Utility 範例:

IMPORT FROM "C:/FBAMCTMP/DATA/AMC_CUST_MAINTAIN.ixf" OF IXF COMMITCOUNT 1000

MESSAGES "C:/FBAMCTMP/LOG/AMC2FB.ImportLog.txt"

INSERT_UPDATE INTO CUST_MAINTAIN

 

沒有留言: