Я использую Oracle 18 c базу данных.
Для одного из моих запросов я пытаюсь сгенерировать JSon из 3-х уровней таблиц.
pages_tbl
page_regions_tbl
region_items_tbl
Для что я подготовил ниже запроса. Но это дает мне ошибку ORA-40478: output value too large (maximum: 4000)
SELECT
JSON_ARRAYAGG(
JSON_OBJECT(
'page' VALUE p.name,
'regions' VALUE(
SELECT
JSON_ARRAYAGG(
JSON_OBJECT(
'region' VALUE r.name,
'items' VALUE(
SELECT
JSON_ARRAYAGG(
JSON_OBJECT(
'item_name' VALUE i.item_name, 'item_value' VALUE i.item_value
) RETURNING CLOB
)
FROM region_items_tbl i
WHERE i.region_id = r.region_id
AND i.enabled = 1
)
) RETURNING CLOB
)
FROM page_regions_tbl r
WHERE r.page_id = p.page_id
AND r.enabled = 1
)
) RETURNING CLOB
)
FROM pages_tbl p
WHERE p.category_id = 10150
AND p.enabled = 1
Я уже написал RETURNING CLOB
, поэтому я ожидал гладкого результата, но получил ошибку. Может ли кто-нибудь указать мне, что я делаю неправильно или как я могу исправить этот запрос