0
Oracle 11g는 json을 지원하지 않기 때문에 CLOB을 사용하여 json 데이터를 생성하고 있습니다. 그러나 varchar2 (32767) 크기로 인해 ORA-06502 : PL/SQL : 숫자 또는 값 오류. 한편, 데이터 크기는 68075입니다. 왜 Clob이 4GB 데이터를 지원하더라도 오류가 발생합니까?ORA-06502 : PL/SQL : CLOB을 사용하는 동안 숫자 또는 값 오류가 발생했습니다.
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;
이 맞습니다. substr은 varchar2입니다. clob을 substr하려면 DBMS_LOB.SUBSTR (column, value)을 사용하십시오. –