Seperti yang telah ditunjukkan oleh de.hh.holger, LISTAGG DENGAN CLOB? AGREGASI STRING LEBIH DARI 4000 KARAKTER DENGAN XMLAGG memang menyelesaikan masalah ini.
Saya telah menguraikan sedikit lebih jauh tentang masalah ini dan ini akan berhasil jika ada pesan string yang sangat panjang:
SELECT
table_row_id,
DBMS_XMLGEN.CONVERT (
EXTRACT(
xmltype('<?xml version="1.0"?><document>' ||
XMLAGG(
XMLTYPE('<V>' || DBMS_XMLGEN.CONVERT(data_value)|| '</V>')
order by myOrder).getclobval() || '</document>'),
'/document/V/text()').getclobval(),1) AS data_value
FROM (
SELECT 1 myOrder, 1 table_row_id,'abcdefg>' data_value FROM dual
UNION ALL
SELECT 2, 1 table_row_id,'hijklmn' data_value FROM dual
UNION ALL
SELECT 3, 1 table_row_id,'opqrst' data_value FROM dual
UNION ALL
SELECT 4, 1 table_row_id,'uvwxyz' data_value FROM dual)
GROUP BY
table_row_id