工作总结15 sql的insert语句插入大量字符串到oracle的clob字段

来源:互联网 发布:关口知宏 新疆妹子 编辑:程序博客网 时间:2024/06/06 01:24

    当通过insert语句直接插入大量字符串(主要是html的内容),超过4000字符时候,就会报:ORA-01489: 字符串连接的结果过长.

   虽然字段是clob,足以存储,但是通过这种直接插入的时候,因为没有强制指定带插入字符串为clob类型,oracle会把插入的字符串作为 “字符串类型”处理,由于oracle有最大字符串限制(不超过4000个字符),所以会报错。

   解决方法:指定待插入字符串类型为clob,可以使用过程或存储过程。

   示例:

       DECLARE
      clobString CLOB := '待插入的海量字符串';
      BEGIN
      INSERT INTO test_table VALUES('test', clobString, '0');
      end ;
      /
      commit;

       java的jdk对这种情景有通过l流的方式处理,因此比较方便。
       另外:插入html内容,可能含有空格  ,字符&是oracle的关键字,因此插入之前要转义, 如:'||chr(38)||'nbsp;

0 0
原创粉丝点击