插入clob的存储过程出错

panyilin 2012-08-31 09:53:43
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,请问大家怎么解决?
...全文
133 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
panyilin 2012-08-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

create or replace procedure prc_clob(sid varchar2,str varchar2)
str varchar2 -> str clob
[/Quote]


改了,还是同样的错误!
fw0124 2012-08-31
  • 打赏
  • 举报
回复
create or replace procedure prc_clob(sid varchar2,str varchar2)
str varchar2 -> str clob

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧