Как создать временные процедуры в MySQL?
В настоящее время я работаю над приложением портала для ресторана. Бэкэнд-база данных - Mysql, и я использую поддержку Spring JDBC для записи логики доступа к данным.
Некоторые из моих DAO загромождены несколькими запросами и получают до тысячи строк кода. Я думаю, что я могу уменьшить размер и сложность, переместив часть моей логики в процедуру SQL-PSM (поскольку привязка данных и код клея в Java - это мерзость из ада).
Однако у меня нет прав DDL на Db и, следовательно, не могу создать процедуру.
Мне было интересно, есть ли способ создать временную процедуру, способную к отбрасыванию, которая может выполняться непосредственно, как инструкция DML, без необходимости ее создания вначале.
то есть. Я хочу, чтобы процедура минус ключевое слово create, которое выполнило бы мою работу, вернет результат и исчезнет.
Погуглил много, но ничего не мог найти.: '(Просто интересно, знаете ли вы, что это изящное решение.
Ответы
Ответ 1
Я предполагаю, что вы ищете анонимные блоки кода/анонимные процедуры. К сожалению, он не поддерживается в MySQL (поддерживается в "больших" СУБД, таких как Oracle или Sybase)
Я бы предпочел использовать некоторую структуру ORM, но я не разработчик Java, поэтому я не могу рекомендовать их.
Ответ 2
Я не думаю, что ты можешь. Моя рекомендация заключалась бы в создании "хранимой процедуры" на Java. Напишите метод, который принимает ваши входы, выполняет запросы и вычисления, а затем возвращает набор данных.