14.3 インデクス名を変更する方法
実行者 表の所有者
ALTER INDEXでインデクス名を変更できます。なお,未完状態のインデクスもインデクス名を変更できます。名称を変更できるインデクスを次に示します。
-
CREATE INDEXで定義したB-treeインデクス
-
インデクス型を指定したインデクス
-
部分構造インデクス
インデクス名を変更する手順を次に示します。
- 〈手順〉
-
-
ALTER INDEXのRENAMEオペランドに変更後のインデクス名を指定して実行します。インデクス名の変更中,変更対象のインデクスを定義した表をアクセスするUAPは排他待ち状態になります。
-
インデクス名を変更すると,変更したインデクスを使用しているストアドプロシジャが無効になります。また,名称を変更したインデクスが定義してある表を使用しているストアドプロシジャのインデクス情報が無効になります。この場合,ALTER PROCEDURE又はALTER ROUTINEでストアドプロシジャを再作成してください。
また,トリガで使用しているインデクスの名称を変更すると,トリガが無効になります。トリガSQL文中に指定している表のインデクス名を変更すると,トリガのインデクス情報が無効になります。この場合,ALTER TRIGGER又はALTER ROUTINEでトリガを再作成してください。
-
インデクス名を変更したインデクスにインデクス専用のグローバルバッファを割り当てている場合,そのグローバルバッファに指定しているインデクス名も変更してください。変更方法を次に示します。
-
- グローバルバッファの変更方法
-
次に示すどちらかの方法でグローバルバッファを変更してください。
-
HiRDBを正常終了してpdbufferオペランドの指定を変更してください(インデクス名を変更したインデクスに対応するpdbufferオペランドの指定を変更してください)。
-
システム構成変更コマンド(pdchgconfコマンド)でpdbufferオペランドの指定を変更してください(インデクス名を変更したインデクスに対応するpdbufferオペランドの指定を変更してください)。この場合,HiRDBを正常終了する必要はありません。ただし,この方法でグローバルバッファを変更する場合はHiRDB Advanced High Availabilityが必要になります。システム構成変更コマンドでHiRDBシステム定義を変更する方法については,「HiRDBの稼働中にHiRDBシステム定義を変更する方法(システム構成変更コマンド)」を参照してください。
-