zoukankan      html  css  js  c++  java
  • PL/SQL学习笔记循环控制与顺序控制

    一:LOOP...END LOOP
    先看代码

    declare
    v_flag number := 1;
    begin
    loop 
           exit when v_flag>16;
           v_flag := v_flag+1;
           dbms_output.put_line(to_char(v_flag));
    end loop;
    end;

    其中exit when是跳出循环的条件,
    注意代码中的分号,挺重要的。没有分号会报错

    二:while……loop….end loop
    几个和循环结构相关的代码,我比较喜欢这个,如下:

    declare
    v_flag number := 1;
    begin
    while v_flag<16 loop
           v_flag := v_flag+1;
           dbms_output.put_line(to_char(v_flag));
    end loop;
    end;


    注意这个示例程序和上个示例程序的输出结果是不同的
    具体为什么不同我就不多解释了

    三:for…loop…end loop
    还是类似的示例程序:

    declare
    v_flag number := 1;
    begin
    for v_flag in 2..16 loop
           --v_flag := v_flag+1;
           dbms_output.put_line(to_char(v_flag));
    end loop;
    end;


    注意我用--注释掉了一句
    因为在这个循环体内,是不允许为哨兵变量赋值的
    哨兵变量不知道啥意思?hehe
    --是注释单行的写法
    /*  …..*/可以注释多行

    四:顺序控制goto
    看例子:

    declare
    v_flag number := 1;
    begin
    while v_flag<16 loop
           v_flag := v_flag+1;
           dbms_output.put_line(to_char(v_flag));
           if mod(v_flag,6) = 0 then
              goto lable_1;
           end if;
    end loop;
    <<lable_1>>
    dbms_output.put_line('跳出来了');
    end;

    mod(v,n)是取余数的意思,
    这里写这个函数其实没意义
    还不如直接判断变量是否等六
    另外需要注意的是goto语句有很多限制
    以下都是不被允许的:
    1跳转到非执行语句前面
    2跳转到子块中
    3跳转到条件语句中
    4跳转到循环语句中
    5从条件语句的一部分跳转到另一部分
    6从异常处理部分跳转到执行部分

  • 相关阅读:
    Python Requests-学习笔记(7)-Cookies
    Python Requests-学习笔记(6)-响应头
    Python Requests-学习笔记(5)-响应状态码
    Python Requests-学习笔记(4)-定制请求头和POST
    Python Requests-学习笔记(3)-处理json
    Python Requests-学习笔记(2)
    Python Request-学习笔记(1)
    编程就编程,我不参与政治
    非常漂亮的HTML5音乐播放器
    Dropzone.js实现文件拖拽上传
  • 原文地址:https://www.cnblogs.com/liulun/p/1526589.html
Copyright © 2011-2022 走看看