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

Mysql 如果返回记录,则退出循环,mysql,stored-procedures,loops,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 @

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

尝试打破循环

您可以使用:

您可以使用:


可以使用break and continue语句。可以使用break and continue语句。我想问题更多的是确定准备好的语句返回的记录数。eggyal是正确的。如果返回的记录超过0条,我需要离开循环。我想问题更多的是确定预处理语句返回的记录数。eggyal是正确的。如果返回的记录超过0条,我需要离开循环。
IF FOUND_ROWS() > 0 THEN
  LEAVE days_loop;
END IF;