to_clob() function mengambil nilai karakter, jadi Anda memiliki konversi implisit dari XMLType dikembalikan oleh XMLElement() ke varchar2; setelah panjang XML melebihi 4k (karena Anda berada dalam konteks SQL), Anda akan mendapatkan kesalahan itu.
Anda dapat menggunakan XMLType fungsi getCLobVal() sebagai gantinya:
SELECT XMLElement("DEMANDS",
XMLAgg(XMLElement("Demand"
,XMLElement( "DemandId",dmnd_id)
,XMLElement( "CreatedBy",CREATED_BY)
...
,XMLElement("Comments",COMMENTS)
))).getClobVal()
into OUT_CLOB
...
Jadi panggilan luar ke to_clob() telah dihapus, dan diganti dengan panggilan ke XMLElement().getClobVal() .Terverifikasi dengan XML yang lebih besar dari 32k juga.