SQL从很长的值列表中选择

问题描述 投票:2回答:1

我需要根据一个大列表进行选择:

SELECT ... FROM tb WHERE tb.cl IN (?, ?, ?, ..................many)

无法这样做,因为驱动程序实现(JayBird)将查询限制为最大1500个参数,也因为内存不足,无法选择/加载所有内容并在应用程序内进行过滤。

我该怎么办?

更多信息我正在将Spring Boot与Hibernate和JPA存储库一起使用,因此,如果可以在JPQL中完成,或者使用其他一些与环境相关的技术,那将更好。如果有任何区别,我将实际使用...WHERE tb.cl NOT IN...。有点像EDI,我要连接两个不同的数据库,因此不能使用嵌套选择。

我需要基于一个很大的列表进行选择:SELECT ... FROM tb WHERE tb.cl IN(?,?,?,.........很多)无法执行此操作,因为驱动程序实现(JayBird)将查询限制为1500 ...

java sql spring-data-jpa jpql jaybird
1个回答
0
投票

一种替代方法是使用临时表

© www.soinside.com 2019 - 2024. All rights reserved.