【问题标题】:Getting the wrong result back from the stored procedure after calling another stored procedure调用另一个存储过程后从存储过程返回错误结果
【发布时间】:2011-11-08 02:44:02
【问题描述】:

我们有一个用来创建用户的存储过程。在该存储过程中,我们调用其他存储过程来创建用户需要开始的东西。每个存储过程都以这样的结尾:

select 1 AS statusMsg, 'User Successfuly Created' as msg;

问题是我们返回错误的statusMsgmsg

我们结束这个过程:

call createDefaultSites(l_customerguid);
select 1 AS statusMsg, 'User Successfuly Created' as msg;

但我们从 createDefaultSites() 调用而不是最终选择中取回了 statusMsgmsg

如何确保只有最后一条语句返回结果?

【问题讨论】:

    标签: mysql stored-procedures resultset


    【解决方案1】:

    我最终为每个返回值添加了一个标识符,并循环遍历它们以找到我正在寻找的那个。

    select 1                          AS statusMsg, 
           'User Successfuly Created' AS       msg, 
           'UserCreation'             AS   msgType;
    

    老实说,我没有意识到我得到了多个结果集。如果 statusMsg 来自第一个结果集,我也许会更快一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-03
      • 1970-01-01
      • 2014-09-17
      • 2013-06-21
      • 2011-05-05
      相关资源
      最近更新 更多