create or replace procedure prc_clob(sid varchar2,str varchar2)
is
       c_clob      clob;
       b_amount    BINARY_INTEGER:=32767;
       b_pos       INTEGER := 1;
       b_clob_len  INTEGER;
begin         
       INSERT INTO table1(id,clob1) 
                      VALUES (sid,EMPTY_CLOB( ))returning clob1 into c_clob;                                  
       b_clob_len:=dbms_lob.getlength(c_str);
       while b_pos <= b_clob_len LOOP
          dbms_lob.write(c_clob, b_amount, b_pos, c_str);
          b_pos := b_pos + b_amount;
       END LOOP;
       commit;
end prc_clob;当插入短字段的时候可以,但是插入5万字就报错了:string literal too long,请问大家怎么解决?