2012-06-25 85 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;