2012-06-25 125 views
0

我有一個存儲過程mysql。在這裏面我是從數據庫中使用下面的語句選擇一些值,mysql存儲過程,使用從數據庫中選擇的值

select version_id from version where version_name between '1.1' and '1.5' 

現在我想運行從上面的語句所有選擇值的循環上面下面一行語句返回假設意味着, version_id (1,5,3,7)
,所以我想運行值爲1,5,3,7的循環。

我該如何做到這一點?

+0

請詳細點嗎?什麼是*所有選擇值*? – McGarnagle

+0

你可能不需要循環。選擇本身爲您提供了一個循環。但是,是的..精心製作 – Samson

+0

或者使用遊標 – Samson

回答

0

在MySQL中,你需要在值使用光標元素循環

CREATE PROCEDURE CURSOR_LOOP() 
BEGIN 
DECLARE C1 CURSOR FOR 
    select version_id where version_name between '1.1' and '1.5' 

OPEN C1; 
read_loop: LOOP 
    FETCH C1 INTO v_ID; 
    IF done THEN 
    LEAVE read_loop; 
    END IF; 
-- YOUR ACTION HERE            
END LOOP; 
CLOSE C1; 
-- OTHERS ACTIONS 
END;