插入clob的存储过程出错
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,请问大家怎么解决?