Даже при возврате CLOB возникает та же ошибка. Я увеличил размер строки в базе данных до расширенного, но ошибка все еще существует.
SELECT JSON_ARRAYAGG(JSON_OBJECT(
'assmCode' VALUE part_group.assm_code,
'slotCode' VALUE part_group.slot_code,
'partGroupCode' VALUE part_group.part_group_code,
'partGroupName' VALUE part_group.part_group_name,
'invClassCode' VALUE part_group.inv_class_code,
'effectivity' VALUE part_group.effectivity,
'quantity' VALUE part_group.quantity,
'condition' VALUE part_group.condition,
'isReqSpecPart' VALUE DECODE(part_group.is_req_spec_part,'1','true','false'),
'alternates' VALUE (SELECT JSON_ARRAYAGG(
JSON_OBJECT(
'interChgOrd' VALUE pg_part.inter_chg_ord,
'effectivity' VALUE pg_part.effectivity,
'isStandard' VALUE DECODE(pg_part.is_standard,'1','true','false'),
'isConditional' VALUE DECODE(pg_part.is_conditional,'1','true','false'),
'isApproved' VALUE DECODE( pg_part.rowstate , 'Approved' , 'true','false'),
'part' VALUE (SELECT JSON_ARRAYAGG(JSON_OBJECT(
'oemPartNo' VALUE part.oem_part_no,
'manufacturerCode' VALUE part.manufacturer_code,
'partName' VALUE part.part_name,
'isPmaPart' VALUE DECODE(part.is_pma_part,'1','true','false')
)RETURNING CLOB) FROM opr_publish_part part
WHERE part.opr_publish_part_id = pg_part.opr_publish_part_id)
)RETURNING CLOB)FROM opr_publish_pg_part_tab pg_part
WHERE publish_part_group_id = part_group.publish_part_group_id AND pg_part.rowstate!='Unassigned'))RETURNING CLOB)
FROM opr_publish_part_group_tab part_group
WHERE publish_part_group_id = 123123;
Фактическая проблема заключается в операторе select ключа JSON 'part', поскольку он возвращает более 4000 байт данных.
Я пробовал несколько способов исправить эту проблему, но возникает та же ошибка. 1) Изменение размера строки базы данных для расширения. 2) Возврат VARCHAR2 (32000).