以下代码直接来自PL / JSON附带的示例文件ex11.sql
。我添加的是用于使字符串变大的循环代码,因为我想测试一个真正的clob。它失败了一定的长度,我无法弄清楚原因。
关于如何使其始终如一地工作的任何想法?
set serveroutput on;
declare
teststringlength pls_integer := 32763;
i pls_integer := 0;
obj json;
my_clob clob := '{"a":"';
begin
while i < teststringlength loop
my_clob := concat(my_clob,'X');
i := i + 1;
end loop;
my_clob := concat(my_clob,'"}');
obj := json(my_clob);
obj.print;
dbms_lob.trim(my_clob, 0); --empty the lob
obj.to_clob(my_clob);
dbms_output.put_line('----');
dbms_output.put_line(my_clob);
--example with temperary clob
my_clob := empty_clob();
dbms_lob.createtemporary(my_clob, true);
obj.to_clob(my_clob, true);
dbms_output.put_line('----');
dbms_output.put_line(my_clob);
dbms_lob.freetemporary(my_clob);
end;
/