我在按预期工作的存储过程中有以下循环。它生成给定数量的SQL查询。我需要做的是在返回一个或多个记录时退出循环。
set hour_inc = 1 ;
days_loop: loop
if hour_inc > p_hours then
leave days_loop ;
end if ;
set @sqlstr = some sql query ;
PREPARE stmt FROM @sqlstr;
EXECUTE stmt ;
DEALLOCATE PREPARE stmt;
set hour_inc = hour_inc + 1 ;
end loop days_loop ;
答案 0 :(得分:1)
您可以使用FOUND_ROWS
:
IF FOUND_ROWS() > 0 THEN
LEAVE days_loop;
END IF;
答案 1 :(得分:0)
尝试leave突破循环