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

时间:2012-03-06 13:33:46

标签: java mysql sql database

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

我的一些DAO混乱了多个查询,并且获得了大量的代码行。我想通过将我的一些逻辑转移到SQL-PSM过程中可以减小大小和复杂性(因为Java中的数据绑定和粘合代码是地狱的憎恶)。

但是我没有Db的DDL权限,因此无法创建程序。

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

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

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

3 个答案:

答案 0 :(得分:13)

我猜您正在寻找匿名代码块/匿名程序。不幸的是,MySQL不支持它(在“大型”RDBMS中支持,例如Oracle或Sybase)

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

答案 1 :(得分:3)

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

答案 2 :(得分:0)

您正在寻找匿名SQL块。但是MySQL不支持。

唯一的解决方法是使用非匿名SQL块,因此使用标准的命名存储过程和函数。

相关问题