javasqlinsertclob_如何通过sql的insert语句插⼊⼤量字符串到
ora。。。
insert语句字段顺序当通过insert语句直接插⼊⼤量字符串(主要是html的内容),超过4000字符时候,就会报:
ORA-01489: 字符串连接的结果过长
虽然字段是clob,⾜以存储,但是通过这种直接插⼊的时候,因为没有强制指定带插⼊字符串为clob类型,
oracle会把插⼊的字符串作为 “字符串类型”处理,由于oracle有最⼤字符串限制(不超过4000个字符),所以会报错。
解决思路:指定待插⼊字符串类型为clob,可以使⽤过程或存储过程
例⼦:
DECLARE
REALLYBIGTEXTSTRING CLOB := '待插⼊的海量字符串';
BEGIN
INSERT INTO test_table VALUES('test', REALLYBIGTEXTSTRING, '0');
end ;
/
commit;
这样就可以解决问题。
补充:java的jdk对这种情景有通过l流的⽅式处理,因此⽐较⽅便。
另外:插⼊html内容,可能含有空格 ,字符&是oracle的关键字,因此插⼊之前要转义
如:'||chr(38)||'nbsp;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论