java如何在MySQL中创建临时过程?
我目前正在为一家餐厅开发一个门户应用程序。使用的后端数据库是Mysql,我使用SpringJDBC支持编写数据访问逻辑
我的一些DAO被多个查询弄得乱七八糟,代码行数多达数千行。我认为我可以通过将一些逻辑移到SQL-PSM过程中来减少规模和复杂性(因为Java中的数据绑定和粘合代码是地狱般的讨厌)
但是,我对Db没有DDL权限,因此无法创建过程
我想知道是否有一种方法可以创建一个可丢弃\临时过程,您可以像DML语句一样直接执行它,而无需先创建它
也就是说,我想要一个减去create关键字的过程,它将完成我的工作,返回结果并消失
谷歌搜索了很多,但什么也找不到(只是想知道你们是否知道一个优雅的解决方案
# 1 楼答案
我猜您正在寻找匿名代码块/匿名过程。不幸的是,MySQL不支持它(Oracle或Sybase等“大”RDBMS支持它)
我会考虑使用ORM框架,但我不是java开发者,所以我不能推荐任何一个。p>
# 2 楼答案
您正在查找匿名SQL块。但MySQL不支持这一点
唯一的解决方法是使用非匿名SQL块,因此使用标准的命名存储过程和函数
# 3 楼答案
我想你做不到。我的建议是用Java创建“存储过程”。编写一个方法,该方法接受您的输入,执行查询和计算,然后返回数据集