我競選的形式如何規避爲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,所以在這種情況下,內聯所有綁定變量將比創建特別表類型更簡單。 –
是的,它看起來像是一個'六個一個半其他'的情況。 –