DB2 自動生成列のインポート
ナビゲーションに移動
検索に移動
目次
DB2 自動生成列のインポート
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 )
参考
© 2006 矢木浩人