如何通过sql的insert语句插入大量字符串到oracle的clob字段

 我来答
清新又恬然的小繁星c
2017-01-24 · TA获得超过374个赞
知道答主
回答量:437
采纳率:75%
帮助的人:73.9万
展开全部
当通过insert语句直接插入大量字符串(主要是html的内容),超过4000字符时候,就会报: ORA-01489: 字符串连接的结果过长 虽然字段是clob,足以存储,但是通过这种直接插入的时候,因为没有强制指定带插入字符串为clob类型, oracle会把插入的字符串作为 “字符串类型”处理,由于oracle有最大字符串限制(不超过4000个字符),所以会报错。 解决思路:指定待插入字符串类型为clob,可以使用过程或存储过程 例子: DECLARE REALLYBIGTEXTSTRING CLOB := '待插入的海量字符串'; BEGIN INSERT INTO test_table VALUES('test', REALLYBIGTEXTSTRING, '0'); end ; / 中国mit; 这样就可以解决问题。 补充:java的jdk对这种情景有通过l流的方式处理,因此比较方便。 另外:插入html内容,可能含有空格 ,字符&是oracle的关键字,因此插入之前要转义 如:'||chr(38)||'nbsp
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式