Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java EE (J2EE) и Spring > PrepareStatement вставка в in выражение |
Автор: integral 24.9.2009, 18:04 | ||||
Добрый вечер! Есть некий SQL-запрос (а точнее то что я хочу использовать через PreparedStatement), например (просто пример, не следует от него отталкиватся)
Каким обрахом мне сделать вставку набора интов, что бы вышло например
строкой не выходит... Нужена вставка именно в in. ![]() Спасибо ![]() |
Автор: ivg 24.9.2009, 20:23 | ||
1-й способ: Плохие условия для кэширования запросов; в БД ограничения на кол-во параметров в запросе (в Oracle, MSSQL где-то 1000, где-то 2000) 2-й способ: JDBC 4; БД specific - код выше сгодится для PostgreSQL, для Oracle - свои заморочки, MSSQL - не прокатит(там вообще массивов/коллекций нету), можно использовать временные таблицы с предварительной вставкой, по остальным БД надо смотреть. Ну и конечно с временными* таблицами можно, но как показывает практика второй способ для PostgreSQL и Oracle гораздо эффективнее. Надеюсь всё остальное понятно из кода... |
Автор: integral 25.9.2009, 11:14 |
спасибо, второй способ как раз то что нужен, под Оракл так и сдалал, а вот под MySql не могу найти как создать массив ![]() |