zoukankan      html  css  js  c++  java
  • 如何通过sql的insert语句插入大量字符串到oracle的clob字段?

    当通过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;

  • 相关阅读:
    第九章、查找
    opencv- python使用
    opencv初入
    初入
    第四章、数学问题
    数据结构
    分享一个SQLSERVER脚本
    详解SQL语句的集合运算
    数据库权限分配探讨
    数据库分区分表以及读写分离
  • 原文地址:https://www.cnblogs.com/qqzy168/p/3256510.html
Copyright © 2011-2022 走看看