运行mysql程序选择操作使得很多结果集

时间:2013-12-02 13:16:18

标签: mysql resultset procedure

我使用mysql procudure来选择结果。喜欢

delimiter //
DROP procedure IF EXISTS prd_action;
create procedure prd_action()
BEGIN
DECLARE v_userid int;
DECLARE done INT DEFAULT 0;
DECLARE cur CURSOR FOR SELECT distinct user_id from friends where user_id > 30;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
OPEN cur;
       REPEAT
         FETCH cur into v_userid;   
if not done then
         select * from friends where user_id = v_usetid
end if;
                UNTIL done END REPEAT;
CLOSE cur;
END//
delimiter

resultset1,resultset2,...,resultset10它们是结果集,但我希望它们组合成一个结果集。

1 个答案:

答案 0 :(得分:0)

试试这个:

delimiter //
DROP procedure IF EXISTS prd_action;
create procedure prd_action()
BEGIN
         select * from friends f
         where user_id > 30;

END//
delimiter ;



-----编辑----

如果必须使用v_usetid参数而不是30,请尝试以下代码:

create procedure prd_action(v_userid int)
BEGIN
         select * from friends f
         where user_id > v_userid;

END/

演示 - > http://www.sqlfiddle.com/#!2/f717d/3