Задача на выгрузку данных из одной таблицы, с одним условием для фильтра решается посредством создания простого SQL-запроса. Но она легко становится трудоемкой в исполнении, если в фильтрации применить множество условий. Давайте представим, что необходимо выгрузить данные из одной таблицы по фильтру, где первые две цифры ИНН начинаются на «66». SQL…
Мисье знает толк в изврашениях 🙂
1) почему не оператор IN?
2) можно вставить ваши инн во временную таблицу и сделать join с ней
3) файл с инн можно подключить в оракл как таблицу и использовать п. 2
1) почему не оператор IN?
У оператора IN ограничение в 1 000 значений, а OR ограничен настройками СУБД (в нашем случае это 10 000 значений).
Если не обращать внимание на ограничения, то оператор IN хорошо использовать для написания компактного запроса, но он в момент исполнения все равно преобразовывается в OR.
2) можно вставить ваши инн во временную таблицу и сделать join с ней
Запустить в PL/SQL Developer запрос в котором более 2 000 000 строк кода проблематично, а если получиться, то опять возникает ограничение в СУБД.
3) файл с инн можно подключить в оракл как таблицу и использовать п.2
Если не обращать внимание на ограничения в СУБД, то использовать Python более надежней, при обрыве сессии можно начать выгрузку с момента обрыва.
P.s. С Вашими предложениями в п.2 и п.3 согласны, но применить к описанной задаче не получиться, все упирается в ограничения СУБД.
Месье или (канонически месьё)