11.1.4 実表の列名を変更する方法
実表の列名を変更する場合,定義系SQLのALTER TABLE文を実行します。
実表を定義したHADBユーザが,ALTER TABLE文で列名を変更できます。
実表の列名を変更する指定例を次に示します。
- 指定例
-
店舗表(SHOPSLIST)のEMAIL_ADDRESS列の列名を,EMAILに変更します。
ALTER TABLE "SHOPSLIST" RENAME COLUMN FROM "EMAIL_ADDRESS" TO "EMAIL"
ALTER TABLE文の指定形式および規則については,マニュアルHADB SQLリファレンスのALTER TABLE(表定義の変更)を参照してください。
なお,実表の列名を変更する場合,次に示す個所に影響があります。影響がないかどうかを確認してください。
-
列名を変更した実表に依存するビュー表がある場合
列名を変更した実表に依存するビュー表は無効化されます。ビュー表の定義時に,変更前の列名を明示的に指定しているかどうかに関係なく,ビュー表は無効化されます。
無効化されるビュー表(依存するビュー表)を調べる場合は,「11.2.11 依存するビュー表を確認する方法」を参照してください。無効化されるビュー表がある場合は,ALTER TABLE文で列名を変更したあとで,ビュー表の無効化を解除する必要があります。
ビュー表の無効化を解除する方法については,「11.2.8 ビュー表の無効化を解除する方法」の「(2) ALTER TABLE文で表の列名を変更したことによってビュー表が無効化された場合」を参照してください。
-
SQL文に変更前の列名を明示的に指定している場合
APなどに指定しているSQL文に,変更前の列名を指定している場合は,変更後の列名に修正する必要があります。
-
adbimportコマンドに-rオプションで列構成情報ファイルを指定している場合
列構成情報ファイルに対して,列構成情報オプションで変更前の列名を指定している場合は,変更後の列名に修正する必要があります。
また,次に示す場合は,ALTER TABLE文で実表の列名を変更できません。
-
操作対象の実表が更新不可状態になっている場合
実表の更新不可状態を解除したあとで,ALTER TABLE文で列名を変更してください。実表の更新不可状態を解除する方法については,「16.8.1 実表が更新不可状態になった場合」の「(1) 実表の更新不可状態を解除する方法」を参照してください。