MYSQL循环只显示第一条记录

时间:2012-12-13 14:23:01

标签: mysql sequelpro

我正在尝试创建一个带有循环的过程,但是当我调用它时只显示第一条记录并且不进行交互。

delimiter //
create procedure load_foo_test_data()
begin

declare v_max int unsigned default 10;
declare v_counter int unsigned default 1;

select COUNT(*) into v_max FROM emp;

start transaction;
while v_counter < v_max do
    select * from emp where emp_id = v_counter;
    set v_counter=v_counter+1;
end while;
commit;
end 
//
delimiter ;

当我调用该程序时,它只显示第一条记录(ID为1)。

我尝试使用“select v_counter”并且只显示1。

并尝试使用循环而不是同样的事情。

我正在使用mysql 5.5中的续集专业版

谢谢!

2 个答案:

答案 0 :(得分:-1)

我认为你应该使用

while ( ) {

    // do this

}

答案 1 :(得分:-1)

尝试使用

SET v_counter = 0;    
REPEAT
IF v_counter < v_max do THEN
    select * from emp where emp_id = v_counter;
    set v_counter=v_counter+1;
END IF;
UNTIL v_counter END REPEAT;