我竞选的形式如何规避为Sybase ASE和
WHERE x IN (:1, :2, :3, :4, ..., :3001, :3002)
上面的例子描述了大条件jOOQ集成测试绑定值的SQL Server的最大数,有在许多绑定变量IN
条件。 Oracle对IN条件的括号之间的1000个值(绑定值或内联值)有一个众所周知的限制。解决方法很简单,只写:
WHERE x IN (:1, :2, :3, :4, ..., :1000) OR x IN (:1001, ...)
的Sybase ASE 15.5和SQL Server 2008 R8,另一方面似乎对绑定值的数量总体限制:分别为Sybase ASE和SQL Server 2000的2100 。换句话说,似乎没有办法使用这两个数据库的绑定值拆分/转换上述条件。有没有办法绕过这个问题,而不是内联所有绑定值?
这当然看起来像是一种可行的方法来规避问题。另一方面,我完全控制jOOQ提供的SQL,所以在这种情况下,内联所有绑定变量将比创建特别表类型更简单。 –
是的,它看起来像是一个'六个一个半其他'的情况。 –