-20058 THE FULLSELECT SPECIFIED FOR MATERIALIZED QUERY TABLE table-name IS NOT VALID.
説明
マテリアライズ照会表の定義には、全選択の内容に関して固有の規則がありますが、指定された全選択はこの規則に従っていませんでした。
- table-name
- マテリアライズ照会表の名前。
一般的な制約事項: 以下の制約事項が適用されます。
- 全選択の各結果列の長さは 0 であってはなりません。
- 全選択に LOB や XML データ・タイプの列を含めることはできません。
- 全選択内の複数の表にセキュリティー・ラベル列を含めることはできません。
- 全選択に期間指定が含まれていてはなりません。
- 全選択の FROM 文節で指定するオブジェクトを、長さ 0 の列が含まれたビューにすることはできません。
- 全選択には、作成済みグローバル一時表、宣言済みグローバル一時表、アクセラレーター専用表、および別のマテリアライズ照会表への参照を含めることはできません。
- 全選択では、行アクセス制御または列アクセス制御が活動化されている基本表、または行の許可あるいは列マスクが定義されている基本表を直接的または間接的に参照できません。
- 全選択はホスト変数を参照してはなりません。また、パラメーター・マーカーが含まれていてはなりません。
- 全選択はグローバル変数を参照してはなりません。
ENABLE QUERY OPTIMIZATION が有効な場合の追加の制約事項:
- 全選択は副選択でなければならない。
- 副選択の最外部 SELECT リストは、異なる CCSID セットを使用してエンコードされたデータを参照してはなりません。
- 副選択に以下を含めることはできません。
- 特殊レジスター
- スカラー全選択
- 行変更タイム・スタンプ列
- ROW CHANGE 式
- 暗黙のタイム・ゾーン値が適用される式 (タイム・スタンプからタイム・ゾーン付きタイム・スタンプへのキャストなど)
- RAND 組み込み関数
- RID 組み込み関数
- 非 deterministic であるか、または外部アクションが含まれている、ユーザー定義スカラー関数または表関数
- 副照会が含まれている述部
- 行式の述部
- INNER JOIN 構文を使用した結合、または外部結合
- 横相関
- 一時的なマテリアライズ化を必要とするネストされた表の式またはビュー
- アクティブな行または列のアクセス制御を使用する表、あるいは行または列のアクセス制御が定義された表に対する直接参照または間接参照
- FETCH FIRST 文節
- グローバル変数に対する参照
- コレクション派生表 (UNNEST)
- GROUPING SETS または super-groups 節
- LISTAGG、MEDIAN、PERCENTILE_CONT、または PERCENTILE_DISC 関数への参照。
- セキュリティー・ラベルの付いた表が参照されている場合は、副選択の外部選択リストでセキュリティー・ラベル列を参照する必要があります。
- 副選択がビューを参照している場合は、ビュー定義内の全選択がその他の制約事項をすべて満たしている必要があります。
システムの処置
このステートメントを処理することはできません。
プログラマーの応答
上記の規則に準拠するよう、CREATE TABLE または ALTER TABLE ステートメントの全選択を変更してください。
SQLSTATE
428EC