clobValue 表名.字段名%TYPE; BEGIN clobValue := 'XXX'; --字段内容 UPDATE 表名 T SET T.字段名 = clobValue WHERE 条件; COMMIT; END; / 参考网址:Oracle插入/更新CLOB字段报ORA-01704:字符串文字太长【解决方案】
1、如果插入的SQL比较少,那么可以人工处理。方法是使用PLSQL Developer软件,命令为:select * from 表名 for update。这样把相关的字段内容直接复制到CLOB字段中,最后提交即可。 2、如果插入的SQL比较多,那么需要先把所有的SQL语句插入到表中,然后对SQL语句进行处理。首先需要找规律,找到规律了,然后用PL/SQL块进行插...
第一种方式:使用文件存储数据 当数据量特别大达到几M甚至几十M的时候,虽然CLOB也能存下但不建议直接存ORACLE,最好的方式将数据存自盘上,在ORACLE中只留下数据文件的地址信息这样我们在插入与查询上性能会快很多,对网络的开销也小。当我们需要读取数据时再从文件中读取数据。相对于前者直接获取存储在内存中,这种方...
由于我所使用的是大量insert的方式,并且内容都含有html标签,所以采用拼接的形式,即: || to_clob('内容') 示例: select TO_CLOB('拼接示例') || TO_CLOB('这是一个测试SQL') from dual 执行结果 全局进行替换 替换为')||to_clob(' 替换为')||to_clob(' 替换为')||to_clob(' 替换为')||to_c...
【解决方案】Oracle插入/更新CLOB字段报ORA-01704:字符串文字太长 解决办法: 1、如果插入的SQL比较少,那么可以人工处理。方法是使用PLSQL Developer软件,命令为:select * from 表名 for update。这样把相关的字段内容直接复制到CLOB字段中,最后提交即可。
v_clob clob;beginv_clob:='很长的文字';insert into tablenamevalues(a,110,v_clob);end; clob 是字段类型 方法2: 代码语言:javascript 复制 declare v_clob clob:='很长的文字';begin insert into tablenamevalues(a,110,v_clob);end; 实例 ...
在执行SQL的时候报了[ORA-01704:字符串文件太长]的错误,如下图所示: 以上SQL语法没有任何问题,但是如果CLOB字段的内容非常大的时候,会导致SQL语句过长,我认可网上的这个说法:隐式转换,oracle默认把字符串转换成varchar2类型,而这个字符串的长度,又比4000大,所以会报ora-01704错误。说得通俗一点,就是两个单引号...
首先需要找规律,找到规律了,然后用PL/SQL块进行插入或更新即可。 1DECLARE 2 v_clobValue CLOB:= 'XXX'; --字段内容,但是单引号中的内容不能超过4000字符 3BEGIN 4 UPDATE 表名 T SET T.字段名 = T.字段名|| v_clobValue WHERE 条件; 5 COMMIT; 6END; 7/ 1. 2. 3. 4. 5. 6. 7....
⾸先造成这个问题的原因相信⼤家都明⽩,就是因为插⼊的字符串过长导致,因为oracle在插⼊CLOB的数据默认会以varchar2的类型插⼊,所以当超过4000个字符时就会报ORA-01704的错误了(varchar2类型的字符长度是4000,注意:oracle对汉字的存储占3个字符)在这⾥我分享下对于这个问题解决⽅法(持久层基于my...
v_clob clob :='⼀个长⽂本';3.begin 4.insert into table values(a,3,:clob);5.end;2.字符串拼接,update使⽤字符串拼接 1.update mall_config set category_info='安全防护:3003,' where id=1;2.update mall_config set category_info=category_info||'|标准件:1040140,1035382,' where id=1...