Как я могу использовать привязку переменной Oracle внутри ключевого слова IN
Я использую привязку переменных в ORACLE с java/groovy следующим образом:
String sql = "SELECT * FROM myTable WHERE id = :id"
sqlConnection.query(sql, [id: 111])
Он работает идеально. Но когда я попробовал то же самое с ключевым словом IN, я получил ошибку:
String sql = "SELECT * FROM myTable WHERE id IN(:ids)"
sqlConnection.query(sql, [ids: [111, 222, 333]])
Когда я его выполнил, я получил эту ошибку:java.sql.SQLException: неверный тип столбца.
Есть у кого-нибудь идея?
1 ответ
Это не сработает. Это возможно только в том случае, если у вас есть переменная привязки для каждого из членов списка. Альтернативой было бы вообще не использовать переменную привязки в случае списка in, а просто передать весь список в виде строки в Oracle.