-20306   AN INDEX ON AN XML COLUMN CANNOT BE CREATED BECAUSE OF AN ERROR DETECTED WHEN INSERTING THE XML VALUES INTO THE INDEX. REASON CODE = reason-code

説明

ステートメントは処理を進めることができませんが、表はそのまま残ります。 スキーマ・データ・タイプとスキーマ ID は、すべての理由コードで適用できません。 詳細については、特定の理由コードを参照してください。XML 列に対する索引の作成が、以下のいずれかの理由コードで失敗しました。
1
XML 値に挿入または更新されている 1 つ以上の XML ノード値が、現在作成中の索引による長さの制約を超えています。 XML 列に対する索引は、指定された特定の長さの SQL タイプ VARCHAR を使用して定義されています。 1 つ以上の XMLPATTERN 結果値の長さが、VARCHAR データ・タイプのユーザー指定の長さの制約を超えています。
4
1 つ以上の XML ノード値は有効な XML 値ですが、Db2® の制限により、現在作成中の索引の索引データ・タイプにはキャストできません。Db2 は、XML 値のすべての範囲をサポートしているわけではありません。

システムの処置

このステートメントを処理することはできません。

プログラマーの応答

索引定義から XMLPATTERN 文節を判別してください。
1
XML パターン情報を使用して、マッチングさせる XML ノードのセットを特定し どのストリング値が索引によって指定されている長さの制約の制限を超えているかを検査してください。
4
XML パターン情報を使用して、マッチングさせる XML ノードのセットを特定し、 現在作成中の索引に指定されているデータ・タイプに照らして検査し、比較してください。 Db2 が索引データ・タイプとしてサポートしている値の範囲を超えているノード値を判別します。

SQLSTATE

23526