32767 बाइट्स से अधिक होने पर आप सीधे dbms_output.put_line का उपयोग करके क्लॉब को प्रिंट नहीं कर पाएंगे।
यदि ऐसा है तो आप क्लॉब के माध्यम से पुनरावृति करने के लिए एक प्रक्रिया बना सकते हैं और एक समय में एक छोटा सा हिस्सा प्रिंट कर सकते हैं। ऐसी प्रक्रिया और परीक्षण स्क्रिप्ट नीचे है:
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;
ध्यान दें कि v_chunk_size का परिणाम एक बार में 32767 बाइट्स से कम होना चाहिए। यदि आप एन्कोडिंग में 2 बाइट्स प्रति चार हैं तो आपको (32767/2) का उपयोग करने की आवश्यकता होगी।