Как я могу использовать привязку переменной 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.

Другие вопросы по тегам