如何在MySQL中创建临时过程?

2022-09-02 13:40:37

我目前正在为一家餐厅开发门户应用程序。使用的后端数据库是Mysql,我正在使用Spring JDBC支持来编写数据访问逻辑。

我的一些DAO被多个查询弄乱了,并且正在获得多达一千行代码的大小。我认为我可以通过将我的一些逻辑移动到SQL-PSM过程中来减小大小和复杂性(因为Java中的数据绑定和粘合代码是来自地狱的可憎)。

但是,我对数据库没有DDL权限,因此无法创建该过程。

我想知道是否有一种方法可以创建一个可丢弃\临时过程,您可以像DML语句一样直接执行,而无需先创建它。

即,我想要一个减去create关键字的过程,这将完成我的工作,返回结果并消失。

谷歌搜索了很多,但找不到任何东西。:'(只是想知道你们是否知道一个优雅的解决方案。


答案 1

我猜你正在寻找匿名代码块/匿名过程。不幸的是,MySQL不支持它(在Oracle或Sybase等“大”RDBMS中受支持)

我会考虑使用一些ORM框架,但我不是Java开发人员,所以我不能推荐他们中的任何一个。


答案 2

我认为你做不到。我的建议是在Java中创建“存储过程”。编写一个方法,该方法采用您的输入,执行查询和计算,然后返回数据集。


推荐