是否可以在存储过程运行完成之前返回该存储过程中 select 语句的结果?例如:
Create Procedure 'TestProc'()
Begin
//Do some stuff
Select 'column' from table';
//Do some more stuff
End
是否可以立即返回 select 语句的结果,并让过程继续执行后续操作?
谢谢
最佳答案
选择之后你想继续做什么样的事情?也许您可以将选择查询插入到临时表中,继续执行其他操作,然后最终在最后进行选择?临时表值仍然像在例程中返回一样,但您仍然可以继续执行“其他操作”。
从下面的评论中编辑: 对我来说,这应该通过执行以下操作的应用程序来处理 -将当前存储过程分成两部分
从获取字符串第一部分并将其插入数据库的代码中调用第一个插入存储过程。将Id返回给应用程序
应用程序取回收到的 id,然后调用第二个存储过程(耗时的一个)并传递 2 个参数。 id 和字符串的其余部分。
当您的应用程序继续运行时,数据库将继续执行其余的插入操作。
关于MySQL存储过程在过程结束之前返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18199089/