Sql 如何插入大CLOB字符串
我正在尝试从CLOB插入大小超过4000个字符的数据,并且在尝试运行以下SQL脚本时:Sql 如何插入大CLOB字符串,sql,oracle,clob,Sql,Oracle,Clob,我正在尝试从CLOB插入大小超过4000个字符的数据,并且在尝试运行以下SQL脚本时: insert into cleared_data (fdata) select cleared_data_seq.nextval, dbms_lob.substr(dd.fdata, dbms_lob.instr(dd.fdata,'sign')-13,9) from dirty_data dd 这是错误的 ORA-06502: PL/SQL: : character string buffer t
insert into cleared_data (fdata)
select cleared_data_seq.nextval,
dbms_lob.substr(dd.fdata, dbms_lob.instr(dd.fdata,'sign')-13,9)
from dirty_data dd
这是错误的
ORA-06502: PL/SQL: : character string buffer too small
我想剪切字符串,它从第9个字符开始,在单词“sign”之前以字符结束。如何解决这个问题?添加要发布的源表和目标表的结构。还有一件事:insert语句中有一个字段,SELECT语句中有2个字段,结果字符串的长度是多少-
dbms_lob.instr(dd.fdata,'sign')-13的计算结果是什么?fdata
的数据类型和大小是什么?如果与dd
(未显示)上的筛选器匹配的任何行的子字符串超过4000个字符,或大小为fdata
,则会出现此错误。对于太长的子字符串,您想做什么-跳过它,截断它?