Welcome 微信登录

首页 / 数据库 / MySQL / Oracle ORA-01704: string literal too long问题分析

今天使用sql在Oracle直接insert update一个表时,出现ORA-01704: string literal too long的错误,我们的sql是update mall_config  a set a.category_info="|标准其中category_info字段是clob类型,而后面字符串内容很长,虽然clob可以足够可以保存这么长的字符串,但是sql语句的语法解析对字段却有长度限制,文字字符串过长!有两种方法可以解决:1.使用存储过程,把超长文本保存在一个变量中,然后再insert update
  1. declare  
  2. 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;  
这都可以解决问题。Oracle 11gR2执行DBCA报错误Oracle 10g修改了计算机名后的处理办法相关资讯      Oracle错误代码 
  • Oracle错误代码大全  (02/16/2015 21:31:57)
  • Oracle中登陆时报ORA-28000: the   (03/06/2013 20:06:23)
  • Oracle 11g startup时报ORA-03113  (02/21/2013 17:25:55)
  • Oracle Grid Control OUI-25031错  (03/09/2013 09:01:36)
  • ORA-04091:触发器/函数不能读  (02/25/2013 08:28:13)
  • Oracle错误 ORA-12514 解决方法  (02/18/2013 08:50:10)
本文评论 查看全部评论 (0)
表情: 姓名: 字数