­

【DB笔试面试493】Oracle插入或更新CLOB字段报“ORA-01704:字符串文字太长”如何解决?

  • 2019 年 10 月 11 日
  • 筆記
题目部分

在Oracle中,Oracle插入或更新CLOB字段报“ORA-01704:字符串文字太长”如何解决?

答案部分

可以从以下2方面考虑解决:

1、如果插入的SQL比较少,那么可以人工处理。方法是使用PLSQL Developer软件,命令为:select * from 表名 for update。这样把相关的字段内容直接复制到CLOB字段中,最后提交即可。

2、如果插入的SQL比较多,那么需要先把所有的SQL语句插入到表中,然后对SQL语句进行处理。首先需要找规律,找到规律了,然后用PL/SQL块进行插入或更新即可。

DECLARE    v_clobValue CLOB:= 'XXX'; --字段内容,但是单引号中的内容不能超过4000字符  BEGIN    UPDATE 表名 T SET T.字段名 = T.字段名|| v_clobValue WHERE 条件;    COMMIT;  END;  /  

& 说明:

有关ORA-01704错误的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2154662/

本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。