「DB2 自動生成列のインポート」の版間の差分
ナビゲーションに移動
検索に移動
| 1行目: | 1行目: | ||
| − | ==DB2 自動生成列のインポート== | + | ==[[DB2 自動生成列のインポート]]== |
[[DB2]] | [[Database]] | | [[DB2]] | [[Database]] | | ||
| − | === | + | ===GENE[[R]]ATED ALWAYS AS IDENTITY を使った列を値を保ったままインポートしようとしても拒否される=== |
====DDL==== | ====DDL==== | ||
| − | CREATE TABLE " | + | CREATE TABLE "T_ID_[[TEST]]" ( |
| − | "F_ID" | + | "F_ID" INTEGE[[R]] NOT NULL |
| − | + | GENE[[R]]ATED ALWAYS AS IDENTITY (STA[[R]]T WITH 1 INC[[R]]EMENT BY 1), | |
: | : | ||
====Export==== | ====Export==== | ||
| − | EXPORT TO "C:\work\export\ | + | EXPORT TO "C:\work\export\T_ID_[[TEST]].ixf" OF IXF SELECT * FROM T_ID_[[TEST]] |
====Import==== | ====Import==== | ||
| − | IMPORT FROM "C:\work\export\ | + | IMPORT FROM "C:\work\export\T_ID_[[TEST]].ixf" OF IXF INSERT INTO T_ID_[[TEST]] |
====解決策==== | ====解決策==== | ||
| 19行目: | 19行目: | ||
=====上記手順で生成されたDDL===== | =====上記手順で生成されたDDL===== | ||
*「ID] → 「なし」 | *「ID] → 「なし」 | ||
| − | ALTER TABLE | + | ALTER TABLE T_ID_[[TEST]] ALTER COLUMN F_ID DROP IDENTITY ; |
*「なし」→ 「ID」 | *「なし」→ 「ID」 | ||
| − | ALTER TABLE | + | 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/t0004575.html データのインポート] | ||
2020年2月16日 (日) 04:24時点における最新版
目次
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 矢木浩人