トップ 一覧 ping 検索 ヘルプ RSS ログイン

DB2 自動生成列のインポートの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!DB2 自動生成列のインポート
[DB2][Database]
!!GENERATED ALWAYS AS IDENTITY を使った列を値を保ったままインポートしようとしても拒否される
!DDL
 CREATE TABLE "T_ID_TEST" ( 
    "F_ID" INTEGER NOT NULL 
    GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1), 
       :
!Export
 EXPORT TO "C:\work\export\T_ID_TEST.ixf" OF IXF  SELECT * FROM T_ID_TEST

!Import
 IMPORT FROM "C:\work\export\T_ID_TEST.ixf" OF IXF INSERT INTO T_ID_TEST

!解決策
+一旦、コントロールセンター、[当該表コンテキストメニュー]-[変更]-[当該列]-[変更ボタン]-[値の生成タブ] の 「ID」 にチェックが入っているものを、「なし」として更新(初期値を控える)。
+データのインポート
+上記逆の手順にて、「なし」→「ID」(このとき初期値を復元)
::上記手順で生成されたDDL
*「ID] → 「なし」
 ALTER TABLE T_ID_TEST ALTER COLUMN F_ID DROP IDENTITY ;
*「なし」→ 「ID」
 ALTER TABLE T_ID_TEST ALTER COLUMN F_ID SET GENERATED AS IDENTITY ( START WITH 730 INCREMENT BY 1 NO CACHE )



!!参考
*[データのインポート|http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.admin.dm.doc/doc/t0004575.html]
*[生成列のインポートに関する考慮事項|http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.admin.dm.doc/doc/c0004579.html?resultof=%22GENERATEDIGNORE%22%20%22generatedignore%22%20]
*[ID 列のインポートに関する考慮事項|http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.admin.dm.doc/doc/c0004578.html]
*[自動番号付けと ID 列|http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.admin.dbobj.doc/doc/c0020108.html?resultof=%22%47%45%4e%45%52%41%54%45%44%22%20%22%67%65%6e%65%72%61%74%65%64%22%20%22%41%4c%57%41%59%53%22%20%22%61%6c%77%61%79%73%22%20]
*[Generated(生成)列が定義されているDB2テーブルのデータ移動についての解説|http://www.ibm.com/developerworks/jp/data/library/ds/techdoc/movingdata.html]