mybaits oracle ORA-01704: 字符串文字太长

sql:updatetable_namesetcolumn1='1213'wheresysguidin('111','222',……,'nnn');因为是页面上批量操作,... sql:
update table_name set column1 ='1213' where sysguid in('111','222',……,'nnn'); 因为是页面上批量操作,所以这个地方有可能有很多sysguid
现在的问题是: 页面上传过来160个sysGuid,总字符数9000多的时候,这个语句在pl/sql里执行完全没问题,可是在mybaits 中就会报错:ORA-01704: 字符串文字太长。
求大神解答
展开
 我来答
mafangsan
推荐于2016-08-02 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1万
采纳率:71%
帮助的人:2602万
展开全部
在我的印象中,SQL语句的长度不超过8K。

我觉得你这里比较简单的做法是在页面上当sysGuid超过100的时候,就分两次调用数据库的update语句,这样修改很少。

如果不存在并发操作,还有一种简单的修改办法是把页面传来的sysGuid存储到一个临时表tempGuid,然后语句就可以修改成where sysguid in (select sysGuid from tempGuid),然后再删除掉临时表的内容。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式