Saltar al contenido

¿Cómo generar JSON en Oracle para un CLOB que es> 32k (por ejemplo, 60,000 caracteres)?

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 CLOBpero 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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *