Db2の記事として修復しました。Db2 LUWのALTER TABLEによるカラム操作です。現行列と依存先を確認してから、追加・削除・型・既定値・名前の変更を分けて計画します。MySQLのMODIFY/CHANGEや他DBのオンライン変更手順を転用する記事ではありません。
| この記事の要点 |
|---|
|
カラムの追加
下は旧構文例です。TEST_TABLE/COL1は説明用の名前で、各節を順に実行するスクリプトではありません。NOT NULL/DEFAULTの既存データへの影響、表の組織化、権限、ロックとアプリの列指定を確認します。列追加だけなら常に無停止という保証はありません。
|
ALTER TABLE TEST_TABLE |
カラムの削除
DROP COLUMNは列とデータを失う変更です。依存するビュー・制約・索引・アプリ/バッチを先に調査し、復旧可能なバックアップと検証を用意します。逆向きのADD COLUMNだけでは消えた値は戻りません。制約を外して強行したり、本番へ試し打ちしたりしません。
|
ALTER TABLE TEST_TABLE |
カラムの変更(データ型の変更)
下のVARCHAR(4000)は元の例で、直前のSMALLINT列から一般にこの型へ変えられるという意味ではありません。現行型・変更先・値の分布/最大長・デフォルト・依存先を確認し、対象版が許可する型変換かを照合します。許容される変換でも切捨て等のデータ損失があり得るため、成功したことだけを値の同一性の保証にしません。
|
ALTER TABLE TEST_TABLE |
カラムの変更(デフォルト値の変更)
下の文字列リテラル123は列型に代入可能かを確認します。DEFAULTは既定値を使う後続操作への指定で、既存行や明示NULLを一律に埋め直す更新ではありません。既存データを補完するUPDATEとは別に設計します。
|
ALTER TABLE TEST_TABLE |
カラムの変更(カラム名の変更)
COL1/COL2と対象スキーマを確認し、依存オブジェクト・SQL・ORM・CSV/外部連携の列名参照を調べます。DB内で名前変更が成功しても、アプリ側の契約が自動で更新されたとは限りません。
|
ALTER TABLE TEST_TABLE |
変更前に現在のカラムを調べる
2個の?へカタログ上のスキーマ名・表名を順にバインドするSQL例です。?付きでCLPへ貼り付ける完成コマンドではありません。通常識別子と区切り識別子を分け、文字列条件を無条件に大文字へ変えません。LENGTHを常に文字数と扱わず型/単位も確認します。
SELECT TABSCHEMA, TABNAME, COLNO, COLNAME,
TYPENAME, LENGTH, SCALE, NULLS
FROM SYSCAT.COLUMNS
WHERE TABSCHEMA = ?
AND TABNAME = ?
ORDER BY COLNO;
REORG・依存先・適用後の確認
- ALTER前後の列定義・対象件数・代表値と境界値を控える。表定義とDDLの抽出も照合する。
- reorg pending等の表状態と対象操作の要件を確認する。REORGはデータ再編成の別作業で、時間/資源/アクセス制約がある。すべてのALTERに無条件に付け足さず、必要なら検証先で計画する。
- 適用とCOMMIT/ROLLBACK、バックアップ復旧、アプリ切替の順序を対象構成で確認する。SQLを逆にすれば必ず元データが戻ると考えない。
- 適用後の定義・値・制約・依存先とアプリの読み書きを検証する。今回の記事修復では実DBのALTER/REORG/権限変更は実行していない。
元の他DB向け記事にあったIncorrect column specifierとBLOB/TEXTのキー長エラーは他製品の症例として参照を保持し、Db2の診断手順へ転用しません。容量は表スペースの確認で別に調べます。
公式:列定義の変更 / 型変換とreorg pending / REORGの条件。
対象範囲と関連ページ
対象は主にDb2 LUWで、i/zOSや他製品へ無条件に転用しません。元のDb2版のコード・見出し・リンクを保持して訂正し、誤置換された版も履歴に保持しています。2026年10月に公式資料と照合しましたが、Db2実機での動作/権限/性能・全構成での変更成功を検証したものではありません。Db2親ページの子ページから選択してください。
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスのソフト一覧|Blender・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09