2007/10/4 木曜日

物理ファイルの項目追加

Filed under: SQL関連 — takahashi @ 18:04:50

データベースへの項目追加が発生した場合、以下の様な作業が予測されます
1・物理ファイルのデータを退避
2・物理ファイルに従属している論理ファイルを削除
3・物理ファイルの最後にフィールドを追加
4・物理ファイルをコンパイル。レベルチェック(*NO)
5・論理ファイルをコンパイル。レベルチェック(*NO)
6・退避したデータからデータを復元(CPYF *MAP *DROP)

以上の作業で、RPG側はリコンパイルを行わなくても
基本的には大丈夫だと思います。

しかし見ての通り、手順が沢山あり作業は大変になります

この作業をSQLで実施してみました。

1・/* テーブル MYLIB.MYFILE の変更 */
ALTER TABLE MYLIB/MYFILE ADD COLUMN FLD001 NUMERIC (8, 0) NOT NULL DEFAULT

これで、MYLIB/MYFILEにFLD001という名前で数字タイプ8桁のフィールドとして追加されました

2・/* フィールドテキストの設定*/
LABEL ON COLUMN MYLIB/MYFILE ( FLD001 TEXT IS ‘追加フィールド01′ )

3・/* カラム見出しの設定 */
LABEL ON COLUMN MYLIB/MYFILE ( FLD001 IS ‘追加フィールド01′ )

2、3の作業で、カラム名とテキストの追加が行われました。

2、3の作業を行えば、後からカラム名やテキストの変更も可能です。

また、上記の作業はiseriesナビゲーターのデータベースのテーブルの定義から簡単に行えます。

対象の物理ファイル及び従属する論理ファイルはレベルチェックを*NOにしておいて下さい

#システムの命名規則でSQL文は記述しています。環境に応じてMYLIB.MYFILEで実施して下さい

HTML convert time: 0.428 sec. Powered by WordPress ME