zoukankan      html  css  js  c++  java
  • mysql loop if

    MYSQL: loop  if

    ITERATE: 跳出此次循环,直接进入到下一次循环中

    LEAVE: 结束循环,跳出整个循环。

    demo如下:

    CREATE TABLE t(
        v INT NOT NULL
    )ENGINE=INNODB DEFAULT charset=utf8 COMMENT='测试数据表';

    #创建存储过程
    CREATE PROCEDURE P20()
        BEGIN

                    DECLARE v INT;
                    SET v=0;

                    loop_label: LOOP
                            IF v=3 THEN
                                SET v=v+1;
                                ITERATE loop_label; #跳过此处循环,进入下一次循环 或再次执行loop,等同于goto loop_label 或相当于其他语言的continue
                            END IF;

                            INSERT INTO t VALUES(v);

                            SET v = v+1;
                            IF v>=5 THEN
                                LEAVE loop_label;  #结束循环,跳出整个循环,相当于其他语言的break;
                            END IF;
                    END LOOP;
        END;//

    CALL P20();  #调用存储过程

    SELECT * FROM t;

    输出结果为:

  • 相关阅读:
    数据分析
    爬虫系统
    数据结构
    OpenStack系列
    python全栈开发之路
    机器学习——线性回归算法
    简单回测框架开发
    量化交易——羊驼交易法则
    量化交易——动量策略vs反转策略
    量化交易——PEG策略
  • 原文地址:https://www.cnblogs.com/andydao/p/5227150.html
Copyright © 2011-2022 走看看