我在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);
它只显示第一个语句的结果,我想它会显示两个语句的记录。
请让我知道我做错了什么?
由于
答案 0 :(得分:0)
当您调用此过程时,MySQL会创建两个结果集。现在,您需要使用MySQL客户端获取这两个结果集。阅读有关您使用的客户端的信息,它是否支持此功能?例如,在.NET中,您可以在mysqli中使用IDataReader.NextResult Method - mysqli::next_result function,依此类推。
如果您只想查看这些结果集,可以安装一个MySQL GUI工具,有免费的工具。