如何从过程中的第二个select语句返回结果集?

时间:2012-07-29 19:12:46

标签: java mysql stored-procedures

如何从第二个选择语句返回结果集

我有样本:

-- --------------------------------------------------------------------------------
-- Routine DDL
-- Note: comments before and after the routine body will not be stored by the server
-- --------------------------------------------------------------------------------
DELIMITER $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `getGender20`(in id INT)
BEGIN
 DECLARE str VARCHAR(50);
  select @str :=gender from memeber_info where id=id;
if (str = 'Male') then
select '12345' ;
end if;
select '123' ;
END

我的程序正在重新调整male,而我需要它返回123。如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

使用case

,您可以在没有变量的情况下执行此操作
select case when gender = 'Male'
            then 12345
            else 123
       end as some_name
from memeber_info
where id=id;

答案 1 :(得分:0)

在java中,您可以使用getMoreResults函数从Statement获取下一个结果集。该方法返回一个布尔值,如果有更多结果集可用,则为true。