Esta es el arreglo más exacta que encomtrarás dar, sin embargo obsérvala pausadamente y valora si se puede adaptar a tu trabajo.
Solución:
En respuesta a esta pregunta:
El enfoque 3 resuelve mi problema pero no quiero ejecutar for loop . ¿Hay alguna solución en Oracle para manejar esto?
Las cadenas se pueden concatenar sin bucles mediante el uso de Oracle LISTAGG
función:
SELECT '"employees":[' ' AS json
FROM tablename;
Sin embargo, como has señalado en los comentarios, LISTAGG
tiene un límite de 4000 caracteres. Lo siguiente es más complejo/incómodo pero debería hacer frente más allá de este límite:
SELECT ' ']' AS json
FROM tablename;
XMLAGG
manejas CLOB
pero el EXTRACT
función tiene el efecto secundario de escapar ciertos caracteres (por ejemplo, de "
para "
). La consulta anterior los vuelve a convertir (por ejemplo, de "
para "
) utilizando el dbms_xmlgen.convert
función: consulte esta respuesta para obtener más detalles.
Demostración de violín SQL: http://sqlfiddle.com/#!4/5b295/40
Te mostramos comentarios y puntuaciones
Recuerda que te brindamos la opción de glosar si topaste tu dilema a tiempo.