Генерировать JSON из значений столбцов в Oracle 12c Enterprise Ed (12.1.0) — 64 бит

#json #oracle #oracle12c

#json #Oracle #oracle12c

Вопрос:

Я боролся с проблемой в моем SQL-запросе. Для каждой записи у меня есть родительский элемент / запись A, который содержит список дочерних элементов / записей (B, C, …). Я могу выполнить несколько объединений и получить записи, но это будет дублировать элемент A (родительский элемент / запись) во всех строках. Я, наконец, остановился на решении получить дочерние элементы / записи в виде массивов JSON для каждого родительского элемента / записи A. Таким образом, у меня будет один родительский элемент в одном столбце, а другие столбцы будут иметь связанный список дочерних элементов / записей в виде массива JSON.

Я пытался использовать JSON_OBJECT() и другие связанные функции, но они не работают в Oracle 12c R1. К сожалению, я не могу обновить свой Oracle или установить какие-либо сторонние пакеты.

Есть ли какой-либо способ генерировать JSON без его создания вручную?

Премного благодарен!

Комментарии:

1. Увы, вам не повезло с генерацией JSON в 12cR1. Но, читая ваш первый абзац, кажется, что вам конкретно не нужен JSON , это просто то, что вы придумали для создания результирующего набора в определенной форме. Я предлагаю вам подробнее рассказать о фактическом требовании, которое вы пытаетесь решить — опубликовать некоторые образцы входных данных и желаемый результат — и, возможно, мы сможем предложить другой способ достижения вашей цели. Включите сведения о клиенте, который будет использовать и отображать выходные данные вашего запроса.

2. .. и если вы планируете использовать функции json, вашему руководству следует рассмотреть вопрос о приоритизации обновления программного обеспечения, чтобы их разработчики могли использовать новейшие доступные технологии. В противном случае переключитесь на другую базу данных с открытым исходным кодом, которая предоставляет вам эту функцию бесплатно.

3. В итоге я вернул дочерние записи в формате XML вместо JSON.

4. @APC Есть ли способ вернуть значение large XMLELEMENT , которое находится в подзапросе вместе с остальными выбранными столбцами?