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
- declare
- v_clob clob :='一个长文本';
- begin
- insert into table values(a,3,:clob);
- end;
2.字符串拼接,update使用字符串拼接
- update mall_config set category_info='安全防护:3003,' where id=1;
- update mall_config set category_info=category_info||'|标准件:1040140,1035382,' where id=1;
这都可以解决问题。
相关推荐
Lzs 2020-10-23
聚合室 2020-11-16
零 2020-09-18
Justhavefun 2020-10-22
jacktangj 2020-10-14
ChaITSimpleLove 2020-10-06
Andrea0 2020-09-18
周游列国之仕子 2020-09-15
afanti 2020-09-16
88234852 2020-09-15
YClimb 2020-09-15
风雨断肠人 2020-09-04
卖口粥湛蓝的天空 2020-09-15
stulen 2020-09-15
pythonxuexi 2020-09-06
abfdada 2020-08-26
梦的天空 2020-08-25