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でも検証済み。