如您所知,对于 Oracle 11g 不支持 json,由于 varchar2 (32767) 大小,我正在使用 CLOB 创建 json 数据,但此时我得到 ORA-06502: PL/SQL: numeric or value 错误。同时,数据大小为 68075。尽管 Clob 支持 4 gb 数据,但为什么我会收到错误消息?
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;