2012-04-30 38 views
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 ; 
+0

可以使用**破**和** **繼續發言。 – Addicted

回答

1

的您可以使用FOUND_ROWS

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

嘗試leave跳出循環

+0

我想這個問題更多的是關於確定準備好的語句返回的記錄數。 – eggyal

+0

eggyal是正確的。如果返回的記錄超過0條,我需要離開循環。 – shantanuo