zoukankan      html  css  js  c++  java
  • mysql的三种循环while 、 loop 、repeat与oracle的三种loop的

    -- MySQL中的三中循环 while 、 loop 、repeat 求 1-n 的和


    -- 第一种 while 循环
    -- 求 1-n 的和
    /* while循环语法:
    while 条件 DO
    循环体;
    end while;
    */

    create procedure sum1(a int)
    begin
    declare sum int default 0; -- default 是指定该变量的默认值
    declare i int default 1;
    while i<=a DO -- 循环开始
    set sum=sum+i;
    set i=i+1;
    end while; -- 循环结束
    select sum; -- 输出结果
    end;
    -- 执行存储过程
    call sum1(100);
    -- 删除存储过程
    drop procedure if exists sum1;
    ==============================
    -- 第二种 loop 循环

    /* loop循环语法:
    loop_name:loop
    if 条件 then --满足条件时离开循环
    leave loop_name; -- 和break差不多都是结束语
    end if;
    end loop;
    */
    
    
    create procedure sums(a int)
    begin
            declare sum int default 0;
            declare i int default 1;
            loop_name:loop -- 循环开始
                if i>a then 
                    leave loop_name;  -- 判断条件成立则结束循环  好比java中的 boeak
                end if;
                set sum=sum+i;
                set i=i+1;
            end loop;  -- 循环结束
            select sum; -- 输出结果
    end;
     -- 执行存储过程
    call sums(100);
    -- 删除存储过程
    drop procedure if exists  sums;
    
    

    -- 第三种 repeat 循环
    /*repeat 循环语法
    repeat
    循环体
    until 条件 end repeat;
    */

    create procedure sum55(a int)
    begin
    declare sum int default 0;
    declare i int default 1;
    repeat -- 循环开始
    set sum=sum+i;
    set i=i+1;
    until i>a end repeat; -- 循环结束
    select sum; -- 输出结果
    end;
    
    -- 执行存储过程
    call sum55(100);
    -- 删除存储过程
    drop procedure if exists sum55;

    ================================

    ================================

    Oracle中三种循环

    --1.loop

    Declare
    vcount number := 51;
    begin
    loop
    insert into test (id, name) values (vcount, 'loop');
    vcount := vcount + 1;
    exit when vcount = 61;
    end loop;
    commit;
    end;
    
    select * from test

    --2.while loop

    Declare
    vcount number := 61;
    begin
    while vcount <= 70 loop
    insert into test (id, name) values (vcount, 'loop');
    vcount := vcount + 1;
    end loop;
    commit;
    end;

    --3.for loop

    Declare
    vcount number;
    begin
    for vcount in 71 .. 75 loop
    insert into test (id, name) values (vcount, 'loop');
    end loop;
    commit;
    end;
  • 相关阅读:
    eclipse中的Invalid text string (xxx).
    在jsp文件中出现Unknown tag (c:out)
    eclipse 界面复原
    ecilpse 纠错插件
    Multiple annotations found at this line:- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
    Port 8080 required by Tomcat v9.0 Server at localhost is already in use. The server may already be running in another process, or a system process may be using the port.
    调用第三方https接口
    调用第三方http接口
    创建带值枚举
    spring整合redis之Redis配置文件
  • 原文地址:https://www.cnblogs.com/thomasbc/p/15529735.html
Copyright © 2011-2022 走看看