У меня вопрос по поводу переменных связывания Oracle и операторов выбора.
Чего я хотел бы добиться, так это выбрать несколько значений для первичного ключа. Я хотел бы передать эти значения через массив, используя значения связывания.
select * from tb_customers where cust_id = :1
int[] cust_id = { 11, 23, 31, 44 , 51 };
Затем я связываю DataReader
, чтобы получить значения в таблицу.
Проблема в том, что результирующая таблица содержит только одну запись (для cust_id=51
). Таким образом, кажется, что каждое утверждение выполняется независимо (как и должно быть), но я хотел бы, чтобы результаты были доступны в виде коллектива (одна таблица).
Обходной путь - создать временную таблицу, вставить все значения cust_id
, а затем выполнить объединение с tb_customers
. Проблема с этим подходом состоит в том, что мне потребуются временные таблицы для каждого различного типа первичного ключа, поскольку я хотел бы использовать это для ряда таблиц (некоторые даже объединяли первичные ключи).
Есть ли что-то, чего мне не хватает?