XMLAGG avec RTRIM problème

Actuellement, j'ai la requête suivante:

SELECT 
    CASE 
       WHEN ('[Param.3]' = 'SELECTED')
          THEN (SELECT RTRIM(XMLELEMENT("Rowset", XMLAGG(RW.R ORDER BY RW."ID")), ' ' ) AS Orders
                FROM TMTABLE UL, XMLTABLE('Rowsets/Rowset/Row' PASSING UL.TEXT COLUMNS "ID" NUMBER(19) PATH 'ID', R xmltype path '.') AS RW
                WHERE ID BETWEEN '[Param.1]' and '[Param.2]')
       WHEN ('[Param.3]' = 'ALL' )
          THEN (SELECT RTRIM(XMLELEMENT("Rowset", XMLAGG(RW.R ORDER BY RW."ID")) , ' ' ) AS Orders
                FROM TMTABLE UL, XMLTABLE('Rowsets/Rowset/Row' PASSING UL.TEXT COLUMNS "ID" NUMBER(19) PATH 'ID', R xmltype path '.') AS RW)
    END AS Orders
FROM 
    dual

Cette requête fonctionne bien si il y a un petit nombre de XML lignes pour être fusionnées en une seule ligne avec XML APA. Mais si le nombre de XML Lignes fusionnées sont plus élevés, cette requête est de lancer le message d'erreur suivant:

ORA-19011: chaîne de Caractères tampon trop petit

Quels changements dois-je appliquer pour faire ce travail?

InformationsquelleAutor Soham Shah | 2012-11-08