我在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 运行循环。
我怎样才能做到这一点?
我在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 运行循环。
我怎样才能做到这一点?
在 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;