zoukankan      html  css  js  c++  java
  • [轉]mysql 控制语句(if,loop ,leave,iterate,while)

    我们先来介绍一下 oracle 的控制语句吧
     

    if else elsif while for loop

    而在mysql中的控制语句是:

     

    if else elseif while loop repeat leave iterate

     

    下面通过例子说明:

      

    delimiter //
    create procedure pro
    begin
     declare @a int default 5;
     if @a>2 then
       select @a;
     elseif @a<5 then
      select 2;
     end if;
    end
    //

     

    下面是 loop的使用

       loop的使用 要结合leave 和 iterate

       看到名字 都已经大概 猜测到了 意思

      leave 就是离开退出循环 而 iterate就是 继续迭代

     

    delimiter //
    create procedure pro
    begin
     declare a int default 1;
     label1: loop
        if a<6 then
         select a;
         set a=a+1;
      iterate label1;
        end if;
        leave label1;
       end loop label1;
    end
    //

    下面一个就是 repeat拉

     

    delimiter //
    create procedure pro
    begin
      declare a int default 3;
      repeat
       select a;
       set a=a+1;
      untile a>5 end repeat;
    end
    //

     

    最后一个就是while语句啦

         

    delimiter //
    create procedure pro
    begin
     declare a int default 4;
     while a<10 do
       select a;
       set a=a+1;
     end while;
    end
    //

     

    从上面我给出的例子 可以看出来 和oracle的区别 还是很大的

     赋值是通过 set 而不是通过:=  声明变量是通过declare来在BEGIN块中来声明的

     

    oracle中有for 并且 大部分都是用的loop语句

      for i in 1..5

          loop

           语句

    end loop;

      while a>5

        loop

     end loop;

     

    loop

       exit when();

     end loop

  • 相关阅读:
    数据库(2019年10月30日)
    (面试题)反射(2019年10月28日)
    反射(2019年10月28日)
    常微分复习重点
    重要定理及其证明
    实变函数复习重点
    泛函分析重点定理
    自旋玻璃简介
    Fnight博文发布规范
    [分析力学]解题思路
  • 原文地址:https://www.cnblogs.com/Athrun/p/2119358.html
Copyright © 2011-2022 走看看