我正在尝试创建一个带有循环的过程,但是当我调用它时只显示第一条记录并且不进行交互。
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中的续集专业版
谢谢!
答案 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;