如果返回记录,则退出循环

时间:2012-04-30 06:46:44

标签: mysql stored-procedures loops

我在按预期工作的存储过程中有以下循环。它生成给定数量的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 ;

2 个答案:

答案 0 :(得分:1)

您可以使用FOUND_ROWS

IF FOUND_ROWS() > 0 THEN
  LEAVE days_loop;
END IF;

答案 1 :(得分:0)

尝试leave突破循环