mysql存储过程,使用数据库中的选定值

时间:2012-06-25 06:13:50

标签: mysql sql stored-procedures

我在 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运行一个循环。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

在MySQL中,您需要使用Cursor元素循环值

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;