У меня есть несколько строк SQL с параметрами из лог-файла, такие какЗаменить шаблон в строке в виде списка значений (SQL)
select a,b,c from db_table where d=? and e=?
-> params: [10,20]
Я не могу изменить формат журнала, так что вопросительные знаки заменяются соответствующие параметры (по крайней мере, насколько я знаю, я использую Toplink в качестве сопоставления OR). Поэтому я хотел бы иметь небольшую полезность, которую я могу дать запросу, шаблону и параметрам, и он дает мне результат (GUI или нет, не имеет значения). Что-то вроде этого:
> insertUtil 'select a,b,c from db_table where d=? and e=?' '?' '10,20'
select a,b,c from db_table where d='10' and e='20'
Это не должно быть идеальным (например, преобразование даты и т. Д.), Оно должно просто вставлять строки. Не нужно предотвращать SQL-инъекцию, это всего лишь инструмент для отладки потенциально длинных запросов.
Я знаю, что программировать такую вещь тривиально, но я удивлен, что я не мог найти какую-либо существующую программу.
Чтобы понять это, я не ищу способ сделать подготовленные заявления с JDBC, я пытаюсь получить этот полный запрос, включая параметры, чтобы я мог выполнить его в другой программе, например, для создания запроса план для этого.
Извините, я обновил свой вопрос, чтобы уточнить, что я не ищу способ создания подготовленных инструкций с помощью JDBC. – Shirky
Спасибо за ваше редактирование! Я знаю, что это сложно сделать правильно, но поэтому я не хочу делать это сам. У меня как-то создалось впечатление, что кто-то более умный, чем я, создал бы программу, которая может это сделать. Мне кажется, что должно быть много людей, которые хотели бы выполнить запрос из файла журнала сопоставления OR с помощью внешнего инструмента БД, например. чтобы увидеть его план запроса. – Shirky
@Shirky Хорошие шансы на то, что многие люди хотели это сделать, но не обнаружили, что стоит потратить время на создание утилиты для ее автоматизации. Глядя на план запроса, как правило, это дело «один раз», а не текущее упражнение, поэтому, скорее всего, быстрее заменить параметры вручную, чем написать утилиту для ее автоматического выполнения. – dasblinkenlight