Anda tidak akan dapat mencetak gumpalan menggunakan dbms_output.put_line secara langsung jika lebih besar dari 32767 byte.
Jika ini masalahnya, Anda dapat membuat prosedur untuk beralih melalui gumpalan dan mencetak satu bagian yang lebih kecil pada satu waktu. Seperti prosedur dan skrip pengujian di bawah ini:
declare
c clob;
procedure print_clob( p_clob in clob ) is
v_offset number default 1;
v_chunk_size number := 10000;
begin
loop
exit when v_offset > dbms_lob.getlength(p_clob);
dbms_output.put_line( dbms_lob.substr( p_clob, v_chunk_size, v_offset ) );
v_offset := v_offset + v_chunk_size;
end loop;
end print_clob;
begin
for i in 1..10000 loop
c := c || 'test';
end loop;
--This will result in ora-06502
--dbms_output.put_line(c);
print_clob(c);
end;
Perhatikan bahwa v_chunk_size harus menghasilkan kurang dari 32767 byte yang dipotong sekaligus. Jika pengkodean Anda memiliki 2 byte per karakter, Anda harus menggunakan (32767/2).