-20093 THE TABLE table-name CANNOT BE CONVERTED TO OR FROM A MATERIALIZED QUERY TABLE, OR THE MATERIALIZED QUERY TABLE PROPERTY CANNOT BE ALTERED. REASON CODE = reason-code.
説明
ALTER TABLE ステートメントは、以下の変更のいずれかを実行できませんでした。
- マテリアライズ照会表から基本表に表を変更する。
- 基本表をマテリアライズ照会表に変更する。
- マテリアライズ照会表のプロパティーを変更する。
- reason-code
- 以下のいずれかの値で示される、メッセージまたは SQL コードの理由。
- 2
- この表はマテリアライズ照会表ではなく、DROP MATERIALIZED QUERY が指定されてます。
- 4
- この表には、少なくとも 1 つのトリガーが定義されています。
- 5
- この表には、少なくとも 1 つのチェック制約が定義されています。
- 6
- この表には、ユニーク制約または索引が少なくとも 1 つ定義されているか、ハッシュ編成が定義されています。
- 7
- この表には、少なくとも 1 つの参照制約が定義されています。
- 8
- この表は、以下のいずれかの定義で参照されます。
- 既存のマテリアライズ照会表の定義
- システム管理のマテリアライズ照会表への変更時のビューの定義
- 9
- この表は、全選択の中で直接的または (例えばビューを介して) 間接的に参照されています。
- 10
- この表は既にマテリアライズ照会表です。
- 11
- 既存の表の列の数が、全選択の選択リストで定義された列の数と同じではありません。
- 12
- 既存の表の列のデータ・タイプは、全選択の選択リスト内の対応する列と完全には一致していません。
- 13
- 既存の表の列の列名は、全選択の選択リスト内の対応する列名と完全には一致していません。
- 14
- 既存の表の列の NULL 可能性、デフォルト、またはその他の特性が、全選択の選択リスト内の対応する列の特性と一致していません。
- 15
- 同じ ALTER TABLE ステートメントに他の表変更がある場合は、変換を実行できません。
- 16
- この表はマテリアライズ照会表ではなく、マテリアライズ照会表プロパティーの変更が指定されました。
- 17
- この表は、行アクセス制御または列アクセス制御が活動化されている基本表、あるいは行の許可または列マスクが定義されている基本表を示します。
- 19
- この表は、システム期間テンポラル表、履歴表、アーカイブ対応表、アーカイブ表のいずれかであるため、マテリアライズ照会表として定義することはできません。
システムの処置
このステートメントを処理することはできません。
プログラマーの応答
reason-code の値に対応したアクションを実行します。
- 2
- この表を変換する必要はありません。アクションは不要です。
- 4
- トリガーをすべて除去し、ALTER TABLE ステートメントを再発行してください。
- 5
- チェック制約をすべて除去し、ALTER TABLE ステートメントを再発行してください。
- 6
- ユニーク制約およびユニーク索引をすべて除去し、ALTER TABLE ステートメントを再発行してください。
- 7
- 参照制約をすべて除去し、ALTER TABLE ステートメントを再発行してください。
- 8
- この表を参照しているマテリアライズ照会表を除去し、ALTER TABLE ステートメントを 再発行してください。
- 9
- マテリアライズ照会表はそれ自体を参照することはできません。全選択を変更して、変更される表への直接または 間接の参照を除去してください。
- 10
- この表は既にマテリアライズ照会表であるため、この操作は許可されません。
- 11
- 全選択を変更して、選択リストの正しい列の数を含めるようにしてください。
- 12
- 結果の列データ・タイプが、対応する既存の列のデータ・タイプに完全に一致するように、全選択を変更してください。
- 13
- 結果の列名が、対応する既存の列の列名に完全に一致するように、全選択を変更してください。
- 14
- この表は、NULL 可能性の特性が一致しない限り、マテリアライズ照会表に変換することはできません。代わりに、新規のマテリアライズ照会表を作成してください。
- 15
- ADD MATERIALIZED QUERY 文節を含まない ALTER TABLE ステートメントで、別の表変換を実行してください。
- 16
- 次のいずれかの処置をとってください。
- 表名を訂正してマテリアライズ照会表を指定する。
- ALTER TABLE ステートメントを使用して、表を必要なプロパティーをもつマテリアライズ照会表に変換する。
- 17
- 次のいずれかの処置をとってください。
- 表のアクセス制御を非活動化し、行の許可および列マスクを除去する。
- マテリアライズ照会表に変換する表として別の基本表を選択する。
- 19
- 次のいずれかの処置をとってください。
- 表名を訂正して、システム期間テンポラル表、履歴表、アーカイブ対応表、アーカイブ表のいずれでもない表を指定する。
- DROP VERSIONING 文節を含む ALTER TABLE ステートメントを使用してシステム期間テンポラル表を変更する。
- DISABLE ARCHIVE 文節を含む ALTER TABLE ステートメントを使用してアーカイブ対応表を変更する。
SQLSTATE
428EW