我有一个mysql过程,用于计算members
表中激活用户的数量。我希望程序在完成计数时,在表格中显示存储在变量num
中的结果。但是我只能在循环内select num
,所以每次迭代都会显示新表,当我把select after循环放进去时,什么都没有显示出来。
delimiter $$
create procedure users()
begin
declare un varchar(25);
declare num int default 0;
declare idd,act int;
declare c cursor for
select id,username,activated from members;
open c;
l: loop
fetch c into idd,un,act;
if act = 1 then set num = num+1;
end if;
end loop l;
close c;
select num; <---------------
end$$
delimiter ;