有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

我的一些DAO被多个查询弄得乱七八糟,代码行数多达数千行。我认为我可以通过将一些逻辑移到SQL-PSM过程中来减少规模和复杂性(因为Java中的数据绑定和粘合代码是地狱般的讨厌)

但是,我对Db没有DDL权限,因此无法创建过程

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

也就是说,我想要一个减去create关键字的过程,它将完成我的工作,返回结果并消失

谷歌搜索了很多,但什么也找不到(只是想知道你们是否知道一个优雅的解决方案


共 (3) 个答案

  1. # 1 楼答案

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

    我会考虑使用ORM框架,但我不是java开发者,所以我不能推荐任何一个。p>

  2. # 2 楼答案

    您正在查找匿名SQL块。但MySQL不支持这一点

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

  3. # 3 楼答案

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