トップ 差分 一覧 ping ソース 検索 ヘルプ PDF 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

解決策

  1. 一旦、コントロールセンター、[当該表コンテキストメニュー]-[変更]-[当該列]-[変更ボタン]-[値の生成タブ] の 「ID」 にチェックが入っているものを、「なし」として更新(初期値を控える)。
  2. データのインポート
  3. 上記逆の手順にて、「なし」→「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 )

 参考



YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto

Copyright© 矢木 浩人 All Rights Reserved.