繁体   English   中英

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

[英]How to create temporary procedures in MySQL?

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

我的一些 DAO 中充斥着多个查询,并且代码多达数千行。 我想我可以通过将我的一些逻辑移动到 SQL-PSM 过程中来减少大小和复杂性(因为 Java 中的数据绑定和粘合代码是地狱中的可憎之物)。

但是,我在 Db 上没有 DDL 权限,因此无法创建该过程。

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

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM