【问题标题】:Return Multiple Result Sets from MYSQL Stored Procedure从 MYSQL 存储过程返回多个结果集
【发布时间】:2011-09-10 23:30:25
【问题描述】:

如何从 MYSQL 存储过程中返回多个结果集?

这是我的测试存储过程:

DELIMITER $$

CREATE DEFINER=`hlamAdmin`@`%` PROCEDURE `test`()
BEGIN
   SELECT *
   FROM hlam.member;

   SELECT * 
   FROM hlam.security;

END

现在当我这样称呼时:

Call test()

我只收到一个结果集。我如何同时收到两者?我习惯了 MSSQL,如果这是一个简单的问题,我深表歉意。

【问题讨论】:

  • 提问时千万不要道歉。我们都在这里学习。
  • 你想要 jdbc(java) 中的结果集还是 mysql 中的结果集,我有 java 的解决方案,你可以同时获得两个结果集

标签: mysql stored-procedures


【解决方案1】:

您可以尝试加入它们(将它们链接在一起)或使用 UNION(将两个选择合二为一);

http://dev.mysql.com/doc/refman/5.0/en/join.html

select a.col1, b.col1
from table1 a
inner join table2 b on a.id = b.id;

http://dev.mysql.com/doc/refman/5.0/en/union.html

select name as col1, surname as col2 from table1
union
select location as col1, desc as col2 from table2;

约翰

【讨论】:

    【解决方案2】:

    使用 HeidiSQL(免费的 MySQL 客户端),我得到了两个结果集,但在两个不同的选项卡上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-22
      • 1970-01-01
      • 2016-03-27
      • 2014-02-06
      • 1970-01-01
      • 2012-01-09
      • 1970-01-01
      相关资源
      最近更新 更多