db2 SQL语句过长报错,无法通过SQL或者java代码解决?

hatom hatom 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
刚过完年,就遇到了一个比较棘手的问题:

系统在做查询时,抛出了一个SQL语句过长的异常,大概错误信息如下:
Caused by: com.ibm.db2.jcc.am.SqlException: The statement is too long or too complex.. SQLCODE=-101, SQLSTATE=54001, DRIVER=3.64.114

分析:在代码中调用了一条查询的db2 SQL语句,该SQL语句包含一个in子查询。in子语句里面的数据非常多。导致整个SQL语句过长,因而报错!而且in子语句里面数据来源的表和主查询表不是在同一个库里面(数据库服务器也不一样),不知道该如何解决了??有想过更改数据库服务器SQL语句过长的配置的方法,不太可行,也有想过使用临时表的方法,把数据同步到同一个服务器的同一个数据库里面。。。想请教大家,看看还有没有其他什么好的方法没有???

涉及SQL大概如下:
SELECT * FROM A WHERE id IN ('1' ,'2','3','4','5'... ... ... ...)
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
hatom
Java 51,407 成员 86,130 内容