从mysql中有多个select语句的过程中获取记录

时间:2014-06-16 05:26:15

标签: mysql stored-procedures

我在mysql中创建了一个过程,其中包含多个select语句。

这是我的代码:

DELIMITER $$

USE `databasename`$$

DROP PROCEDURE IF EXISTS `wholeProjectDetails`$$

CREATE DEFINER=`databasename`@`localhost` PROCEDURE `wholeProjectDetails`(IN givenpid INT)
BEGIN
select * from projects where projectid=givenpid;
select * from projects where projectid<>givenpid;
END$$

DELIMITER ;

当我使用声明调用此过程时:

call wholeProjectDetails(2);

它只显示第一个语句的结果,我想它会显示两个语句的记录。

请让我知道我做错了什么?

由于

1 个答案:

答案 0 :(得分:0)

当您调用此过程时,MySQL会创建两个结果集。现在,您需要使用MySQL客户端获取这两个结果集。阅读有关您使用的客户端的信息,它是否支持此功能?例如,在.NET中,您可以在mysqli中使用IDataReader.NextResult Method - mysqli::next_result function,依此类推。

如果您只想查看这些结果集,可以安装一个MySQL GUI工具,有免费的工具。