KFAA31603-E
Unable to aa....aa. (reason = bb....bb) (M+J+O)
ALTER TABLE文による列のデータ型の変更ができません。 <SQLSTATE:42I75>
- aa....aa:エラーが発生した操作
-
-
change the data type of the column by ALTER TABLE statement
ALTER TABLE文による列のデータ型の変更
-
- bb....bb:
-
エラーの原因
- (S)
-
このSQL文を無視します。またはこのトランザクションを無効にします。
- 〔対策〕
-
次の表に従って対処してください。そのあとで,ALTER TABLE文を再実行してください。
bb....bbに出力された内容
エラーの原因
対処
the specified column comprises a multiple-column B-tree index in which the total data length of the indexed columns exceeds 255 bytes
データ長が254バイト以下のVARCHAR型の列のデータ型を変更する場合に,データ型を変更しようとした列が,複数列インデクスのインデクス構成列であり,データ型を変更したあとの複数列インデクスのインデクス構成列の合計長が256バイト以上になっています。
マニュアルHADB システム構築・運用ガイドの実表の列のデータ型を変更する方法(VARCHAR型の列のデータ長を長くする方法)を参照して,列のデータ型を変更してください。
the total data length of the column comprising the B-tree index which is determined by the changed data length exceeds the maximum length
データ長が256バイト以上,31,999バイト以下のVARCHAR型の列のデータ型を変更する場合に,データ型を変更しようとした列が,B-treeインデクスの構成列であり,変更後のB-treeインデクスの構成列のデータ長の合計が上限を超えています。
変更後のB-treeインデクスの構成列のデータ長の合計が,マニュアルHADB SQLリファレンスのALTER TABLE文の指定形式および規則の指定形式および説明の実表の列のデータ型(VARCHAR型のデータ長)を変更する場合に記載されている条件を満たすように,次のどちらかの対処をしてください。
-
変更後のデータ長を小さくする
-
B-treeインデクスを格納するデータ用DBエリアのページサイズを大きくする
データ用DBエリアのページサイズを大きくするには,adbmodareaコマンドでデータ用DBエリアを一度削除したあとに再作成する必要があります。データ用DBエリアを再作成する手順については,マニュアルHADB システム構築・運用ガイドのデータ用DBエリアを拡張できなくなった場合を参照してください。
the specified column defines a text index
データ型を変更しようとした列に,テキストインデクスが定義されています。
マニュアルHADB システム構築・運用ガイドの実表の列のデータ型を変更する方法(VARCHAR型の列のデータ長を長くする方法)を参照して,列のデータ型を変更してください。
the specified column comprises a foreign key
データ型を変更しようとした列が,外部キーの構成列です。
the specified column comprises a primary key that is referenced from a foreign key
データ型を変更しようとした列が,ほかの表の外部キーから参照されている主キーの構成列です。
-