3.jpg

微信公众号:爱问CTO
专业编程问答社区
www.askcto.com

ORA-01704:文本字符串太长。隐式转换,oracle默认把字符串转换成varchar2类型,而这个字符串的长度,又比4000大,ORA-01704错误。两个单引号之间的字符不能超过4000。

解决办法:采取绑定变量的方式依次拼装更新。

DECLARE  
  V_LANG CLOB := 'XXX'; --内容就可以超过4000个字符了  
BEGIN  
  UPDATE 表名 T SET T.字段名 =V_LANG  WHERE 条件;  
  COMMIT;  
END;

爱问CTO
18 声望2 粉丝

爱问CTO 专业编程问答网站