to_clob() 関数は文字値を受け取るため、XMLTypeから暗黙的に変換されます XMLElement()によって返されます varchar2に; XMLの長さが4kを超えると(SQLコンテキストにいるため)、そのエラーが発生します。
XMLTypeを使用できます 関数getCLobVal() 代わりに:
SELECT XMLElement("DEMANDS",
XMLAgg(XMLElement("Demand"
,XMLElement( "DemandId",dmnd_id)
,XMLElement( "CreatedBy",CREATED_BY)
...
,XMLElement("Comments",COMMENTS)
))).getClobVal()
into OUT_CLOB
...
したがって、to_clob()への外部呼び出し 削除され、XMLElement().getClobVal()の呼び出しに置き換えられました .32kを超えるXMLでも検証済み。