Поскольку Oracle 11g не поддерживает json, как вы знаете, я создаю данные json с использованием CLOB из-за размера varchar2 (32767), но в этот раз я получаю ORA-06502: PL / SQL: числовую или значительную ошибку. Между тем, размер данных составляет 68075. Почему я получаю сообщение об ошибке, несмотря на то, что Clob поддерживает данные 4 ГБ?
procedure course
(
p varchar2 default null
)
as
cursor cr_course(cp_param varchar2)
is
select
m.code,
m.title
from t_course m
where
and type = cp_param;
jobject clob;
jitem varchar2(200);
begin
dbms_lob.createtemporary(jobject, false);
for n in cr_course(p) loop
jitem := '{"key":"' || n.code || '", "value":"'|| n.title || '"},';
dbms_lob.append(jobject, jitem);
end loop;
htp.p(substr(jobject, 0, (length(jobject)-1)));
exception when others then
dbms_lob.freetemporary(jobject);
htp.p(sqlerrm);
end;