Que cosa tan fea de hacer.
¿Son todos datos de caracteres, o también tiene valores numéricos y/o de fecha/hora? Si es así, ¿qué formato desea usar para esos tipos de datos cuando los convierta en cadenas?
También es posible que deba pensar en los delimitadores de campos y registros.
¿Has considerado XML?
declare
v_clob clob;
v_xml xmltype;
begin
select xmlagg(XMLELEMENT("test",xmlforest(id,val)))
into v_xml
from test;
select v_xml.getclobval
into v_clob
from dual;
dbms_output.put_line(v_clob);
end;
/