视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MySql存储过程―6、循环_MySQL
2020-11-09 18:18:44 责编:小采
文档


bitsCN.com
MySql存储过程—6、循环 相关链接:MySql存储过程—1、SQL存储过程的基础知识http:///database/201208/148790.html;MySql存储过程—2、第一个MySql存储过程的建立http:///database/201208/148791.html;MySql存储过程—3、变量http:///database/201208/149069.html;MySql存储过程—4、参数http:///database/201208/149113.html;MySql存储过程—5、逻辑判断,条件控制http:///database/201208/149282.html 在MySql的存储过程中可使用的循环有三种:WHILE、REPEAT、LOOP 1、WHILE WHILE的格式是这样的:[sql] WHILE expression DO Statements END WHILE 下面是个例子[sql] DELIMITER $$ DROP PROCEDURE IF EXISTS `test`.`WhileLoopProc` $$ CREATE PROCEDURE `test`.`WhileLoopProc` () BEGIN DECLARE x INT; DECLARE str VARCHAR(255); SET x = 1; SET str = ''; WHILE x <= 5 DO SET str = CONCAT(str,x,','); SET x = x + 1; END WHILE; SELECT str; END $$ DELIMITER ; 上面的例子最后输出“1,2,3,4,5,”这样的字符。2、REPEAT REPEAT的格式是这样的: [sql] REPEAT Statements; UNTIL expression END REPEAT REPEAT好比我们编程里面的do...while一样。这边例子就不举了,同上面的类似。3、LOOP 及 LEAVE、ITERATE 这里LOOP用来标记循环;而LEAVE表示离开循环,好比编程里面的break一样;ITERATE则继续循环,类型与编程里面的continue。 [sql] DELIMITER $$ DROP PROCEDURE IF EXISTS `test`.`LoopProc` $$ CREATE PROCEDURE `test`.`LoopProc` () BEGIN DECLARE x INT; DECLARE str VARCHAR(255); SET x = 1; SET str = ''; loop_label: LOOP IF x > 10 THEN LEAVE loop_label; END IF; SET x = x + 1; IF (x mod 2) THEN ITERATE loop_label; ELSE SET str = CONCAT(str,x,','); END IF; END LOOP; SELECT str; END $$ DELIMITER ; 上面代码输出10以内的偶数,用逗号分隔。这里注意到x>10的时候就LEAVE掉,如果遇到奇数则ITERATE,奇数对2取模为1,表示true bitsCN.com

下载本文
显示全文
专题