Der to_clob()
Die Funktion nimmt einen Zeichenwert an, sodass Sie eine implizite Konvertierung von XMLType
haben zurückgegeben von XMLElement()
in varchar2
; Sobald die Länge des XML-Codes 4k überschreitet (da Sie sich in einem SQL-Kontext befinden), erhalten Sie diesen Fehler.
Sie können den XMLType
verwenden Funktion getCLobVal()
stattdessen:
SELECT XMLElement("DEMANDS",
XMLAgg(XMLElement("Demand"
,XMLElement( "DemandId",dmnd_id)
,XMLElement( "CreatedBy",CREATED_BY)
...
,XMLElement("Comments",COMMENTS)
))).getClobVal()
into OUT_CLOB
...
Also der äußere Aufruf von to_clob()
wurde entfernt und durch einen Aufruf von XMLElement().getClobVal()
ersetzt .Verifiziert auch mit XML größer als 32k.