1

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

2 回答 2

1

您可以使用FOUND_ROWS

IF FOUND_ROWS() > 0 THEN
  LEAVE days_loop;
END IF;
于 2012-04-30T07:29:59.653 回答
0

尝试离开以跳出循环

于 2012-04-30T06:51:35.097 回答