---打印超长的clob字符------------------------------------------
declare
c1 clob;
strLog varchar2(2000);--单次输出的临时变量
loopCount number(5);
begin
dbms_output.enable(50000);--设置test window 的dbms output 的buffersize
for i in 1 .. 40000 loop
c1:=c1||'1';
end loop;
dbms_output.put_line('length(clob):'||dbms_lob.getlength(c1));
loopCount:=floor(dbms_lob.getlength(c1)/1000);--按1000分块,看能分多少块
dbms_output.put_line('loopCount:'||loopCount);
for i in 0 .. loopCount-1 loop
dbms_output.put_line('loop-----------'||i);
strLog:=substr(c1,i*1000+1,1000);--这里按clob内字符数截取的,每个字符可能是英文字符1byte,也可能是汉字字符2byte
dbms_output.put_line(strLog);
end loop;
--dbms_output.put_line('clob:'||substr(:strlogclob,1,2000));
--注意,测试时要释放clob,但在C#端调用时,要由C#的调用方自行释放
dbms_lob.freetemporary(c1);
dbms_output.put_line('finish-----------');
end;
PL/SQL Developer中打印超长clob字段
最新推荐文章于 2024-05-29 07:08:37 发布