テーブルで SQL を実行しようとしています (test_xml
列xml_data
[データ型 xmltype] で呼び出されます)。列には、繰り返しノード ( test_3
) を持つ xml が含まれています。次のステートメントは、ノードに CLOB 以外のサイズのデータが含まれている場合に正常に実行されます。
SELECT
extractvalue (Value (wl), '*/test_3')
FROM test_xml
, TABLE (xmlsequence (extract (xml_data, '*/record'))) wl
しかし、test_3 ノードに大量のデータが含まれていると失敗します。
ORA-01706: ユーザー関数の結果値が大きすぎました
クエリを修正しました:
SELECT
extractvalue(Value (wl), '*/test_3').getClobVal()
FROM test_xml
, TABLE (xmlsequence (extract (xml_data, '*/record'))) wl
しかし、これは失敗します:
ORA-22806: オブジェクトまたはREFではありません