表と列の名前変更

RENAME ステートメントを使用すれば、既存の表の名前を変更できます。 列の名前を変更するには、ALTER TABLE ステートメントを使用します。

このタスクについて

表の名前を変更する際には、既存の定義 (ビューまたはマテリアライズ照会表)、トリガー、SQL 関数、または制約の中でソース表が参照されてはなりません。 さらに、(ID 列を除く) 生成列や、親表または従属表が存在してはなりません。 新しい表名を反映するようにカタログ項目が更新されます。 詳細情報と例については、RENAME ステートメントを参照してください。

RENAME COLUMN 節は ALTER TABLE ステートメントのオプションです。 基本表の既存の列は、保管データを失ったり、表に関連する特権またはラベル・ベースのアクセス制御 (LBAC) ポリシーに影響することなく、新規名に変更することができます。

基本表の列の名前変更のみがサポートされます。 ビューの列、マテリアライズ照会表 (MQT)、宣言および作成済みの一時表、およびその他の類似表オブジェクトの名前変更はサポートされません。

名前変更列操作の無効化および再有効化セマンティクスは、ドロップ列操作のセマンティクスに類似しています。つまり、すべての従属オブジェクトが無効化されます。 名前変更列操作後のすべての従属オブジェクトの再有効化は、常に無効化の直後に行われます。auto_reval データベース構成パラメーターが DISABLED に設定されていても同様です。

以下の例は、ALTER TABLE ステートメントを使用した、列の名前変更を示します。
   ALTER TABLE org RENAME COLUMN deptnumb TO deptnum

既存の列定義の変更については、「列プロパティーの変更」トピックまたは ALTER TABLE ステートメントを参照してください。