• 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;
  • 相关阅读:
    intellij IDE 破解 简单 License server 法
    Unsupported major.minor version 52.0错误和 jdbc odbc
    MyEclipse优化攻略搜集
    感兴趣的WebGL ,来自微博的一个全景星空图~
    ie/chorme 清除缓存 刷新js,css
    PLSQL PL/SQL Developer Oracle 使用技巧 常用设置 卡顿问题 病毒防范( 附带:配置文件)
    MyEclipse eclipse console edit packageExplorer 颜色设置、个性化、常用设置
    java Map 四种遍历方法
    Eclipse MyEclipse 反编译.class文件 myeclipse source not found
    打印菱形
  • 原文地址:https://www.cnblogs.com/thomasbc/p/15529735.html
Copyright © 2020-2023  润新知