MySQL存储过程在过程结束之前返回结果

标签 mysql stored-procedures

是否可以在存储过程运行完成之前返回该存储过程中 select 语句的结果?例如:

Create Procedure 'TestProc'()
Begin

//Do some stuff

Select 'column' from table';

//Do some more stuff

End

是否可以立即返回 select 语句的结果,并让过程继续执行后续操作?

谢谢

最佳答案

选择之后你想继续做什么样的事情?也许您可以将选择查询插入到临时表中,继续执行其他操作,然后最终在最后进行选择?临时表值仍然像在例程中返回一样,但您仍然可以继续执行“其他操作”。

从下面的评论中编辑: 对我来说,这应该通过执行以下操作的应用程序来处理 -将当前存储过程分成两部分

  1. 从获取字符串第一部分并将其插入数据库的代码中调用第一个插入存储过程。将Id返回给应用程序

  2. 应用程序取回收到的 id,然后调用第二个存储过程(耗时的一个)并传递 2 个参数。 id 和字符串的其余部分。

  3. 当您的应用程序继续运行时,数据库将继续执行其余的插入操作。

关于MySQL存储过程在过程结束之前返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18199089/

相关文章:

stored-procedures - 带有存储过程调用的 BEFORE INSERT 触发器 (DB2 LUW 9.5)

php - 在laravel 4中的插入查询存储过程中传递参数

mysql - LEFT JOIN 返回 null

oracle - 检查 WHERE 子句中的参数是否为 NULL

mysql - Wordpress 类别的 A-Z 索引

php - 用户 'www-data' @'localhost 的访问被拒绝 - 如何处理?

.net - 将空列表或 null 值绑定(bind)到存储过程 (.NET) 上的表值参数

database - Oracle PL/SQL 条件声明?

php - mysql查询具有联合和限制的多表

c# - 如何设置包含 C# 文件、MySQL 和 MATLAB 文件的项目