De to_clob()
functie heeft een tekenwaarde, dus je hebt een impliciete conversie van het XMLType
geretourneerd door XMLElement()
in varchar2
; zodra de lengte van de XML 4k overschrijdt (omdat je in een SQL-context zit), krijg je die fout.
U kunt het XMLType
. gebruiken functie getCLobVal()
in plaats daarvan:
SELECT XMLElement("DEMANDS",
XMLAgg(XMLElement("Demand"
,XMLElement( "DemandId",dmnd_id)
,XMLElement( "CreatedBy",CREATED_BY)
...
,XMLElement("Comments",COMMENTS)
))).getClobVal()
into OUT_CLOB
...
Dus de buitenste aanroep naar to_clob()
is verwijderd en vervangen door een aanroep van XMLElement().getClobVal()
.Geverifieerd met XML groter dan 32k ook.