MySQL5.0新特性教程 存储过程:第三讲
2007-04-22 10:55:57 来源:WEB开发网核心提示: (迭代)语句和LEAVE语句一样也是在循环内部的循环引用,它有点像C语言中的“Continue”,MySQL5.0新特性教程 存储过程:第三讲(9),同样它可以出现在复合语句中,引用复合语句标号,这是个需要迭代过程的循环:ITERATE: Walking throu
(迭代)语句和LEAVE语句一样也是在循环内部的循环引用,它有点像C语言中的“Continue”,同样它可以出现在复合语句中,引用复合语句标号,ITERATE(迭代)意思是重新开始复合语句。
那我们启动并观察下面这个循环,这是个需要迭代过程的循环:
ITERATE: Walking through the loop
深入循环
CREATE PROCEDURE p20 ()
BEGIN
DECLARE v INT;
SET v = 0;
loop_label: LOOP <--
IF v = 3 THEN
SET v = v + 1;
ITERATE loop_label;
END IF;
INSERT INTO t VALUES (v);
SET v = v + 1;
IF v >= 5 THEN
LEAVE loop_label;
END IF;
END LOOP;
END; //
让这个已经定义了标号的循环运行起来。
ITERATE: Walking through the loop
CREATE PROCEDURE p20 ()
BEGIN
DECLARE v INT;
SET v = 0;
loop_label: LOOP
IF v = 3 THEN <--
SET v = v + 1;
ITERATE loop_label;
END IF;
INSERT INTO t VALUES (v);
SET v = v + 1;
IF v >= 5 THEN
LEAVE loop_label;
END IF;
END LOOP;
END; //
v的值变成3,然后我们把它增加到4。
ITERATE: walking through the loop
CREATE PROCEDURE p20 ()
BEGIN
DECLARE v INT;
SET v = 0;
loop_label: LOOP
IF v = 3 THEN
SET v = v + 1;
ITERATE loop_label; <--
END IF;
INSERT INTO t VALUES (v);
SET v = v + 1;
IF v >= 5 THEN
LEAVE loop_label;
END IF;
END LOOP;
END; //
更多精彩
赞助商链接