У меня есть запрос, который выглядит следующим образом:жабы для связывания переменных Oracle с В статье
select * from foo where id in (:ids)
где столбец ID является номером.
При запуске этого в жабу версии 11.0.0.116, я хочу, чтобы предоставить список идентификаторов, так что результирующий запрос:
select * from foo where id in (1,2,3)
Простой непредвзятый подход ниже дает ошибку, что 1,2,3 не допустимым значением с плавающей точкой. Есть ли комбинация типов/значений, которая позволит мне запустить желаемый запрос?
CLARIFICATION: запрос, как показано, показан в моем коде, и я вставляю его в TOAD для тестирования результатов запроса с различными значениями. На сегодняшний день я просто выполнил замену текста переменной привязки в TOAD с помощью списка, разделенного запятыми, и это работает отлично, но немного раздражает для разных списков значений. Кроме того, у меня есть несколько запросов этой формы, которые я тестирую таким образом, поэтому я искал менее пешеходный способ ввода списка значений в TOAD без изменения запроса. Если это невозможно, я продолжу пешеходный подход.
Возможный дубликат [sqlplus - использование переменной привязки в разделе «IN»] (http://stackoverflow.com/questions/4973809/sqlplus-using-a-bind-variable-in-in-clause) – OldProgrammer
I не видите, как это дубликат этого вопроса. Вы говорите, что ответ Джерата о том, что «вы не можете использовать значения, разделенные запятыми, в одной переменной привязки», применяется к диалогу TOAD выше так же, как это применимо к показанному там блоку PL/SQL? – pierus
Это правильно. Это не имеет никакого отношения к TOAD. Вы либо должны использовать другие методы, чтобы «разбить» строку на отдельные элементы данных (как показано в двойном ответе), либо использовать отдельные переменные в запросе, такие как «in (: v1,: v2,: v3 ...) ; – OldProgrammer