【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程序员面试笔试宝典》,作者:李华荣。