WEB开发网
开发学院数据库MySQL MySQL5.0新特性教程 存储过程:第三讲 阅读

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; //

上一页  4 5 6 7 8 9 10  下一页

Tags:MySQL 特性 教程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接