MySQL:从 MySQL 过程调用获取结果

标签 mysql procedure

情况:有一个通过“SELECT x”语句“返回”结果的 SQL 过程。由于某些原因,不允许将其更改为函数或以任何方式更改该过程。我怎样才能获得如下结果:

set @result = 0;
@result = call SomeProcedure(@p1, @p2);

但是由于它是一个过程而不是函数,因此上面的代码将无法编译/工作。我怎样才能在 MySQL 中实现这一点。在 C++ 中它可以工作,但在 MySQL 中我找不到办法......

最佳答案

这是不可能的。

select ... 返回的结果集将始终返回到第一个过程的调用者,即使您进行了多个级别的子调用。

函数返回一个值(但不是结果集),您可以在其他过程或函数中使用该值。

您唯一的选择是设置 session 变量或将结果存储在调用过程知道的临时表中。

关于MySQL:从 MySQL 过程调用获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21453325/

相关文章:

javascript - PHP 对 AJAX 请求没有响应

java - 连接表上的 HIbernate @manytomany 标准

mysql - sql - 查询所需数据的更好方法

Mysql程序,循环返回分层数据

mysql - 我想将此查询从 mssql 转换为 mysql

php - 加入两个表以匹配整数以获得用户名

php - 从mysql中解析每个日期的数据

c# - 从表中选择较大的 ID

mysql - 游标的不一致行为

postgresql - 如何调用 TimescaleDB 中的过程?