美文网首页
MySql存储过程循环注意事项

MySql存储过程循环注意事项

作者: max_l | 来源:发表于2016-07-08 20:49 被阅读391次

    循环的方式


    • while
    • repeat
    • loop
      有一种goto形式区块跳转也可以进行循环,不过不推荐

    while

      WHILE (条件) DO
         ...
      END WHILE;
    

    repeat

      REPEAT
        ...
      UNTIL 条件
      END REPEAT;
    

    loop

      循环名: LOOP
        IF 条件 THEN
          LEAVE 循环名;
        END IF;
        ...
      END LOOP;
    

    重点

    1. while的循环是先判断循环条件,再执行循环体。repeat是直接执行循环体,结束时再通关UNTIL判断循环条件。loop就相对简单了,你可以将if条件安放在循环体的任意位置。

    DECLARE 游标 CURSOR FOR SELECT 字段 FROM 表;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET flagtag = 1;
    OPEN 游标
    循环
    循环体(FETCH * INTO *)
    CLOSE 游标;

    循环通常会在游标中出现,在执行游标循环时,通常是通过flagtag = 1;这样的条件来判断遍历结束。使用repeat时,如果不提前判断flagtag,将会多执行一次,所以执行repeat循环时,需要在这之前进行循环条件判断。

    相关文章

      网友评论

          本文标题:MySql存储过程循环注意事项

          本文链接:https://www.haomeiwen.com/subject/ucrrjttx.html