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从异常处理部分跳转到执行部分

  • 相关阅读:
    JS高级知识部分【4】
    关于python3 使用pycharm+unittest+html+HTMLTestRunner 测试用例运行正常,但却不能生成测试报告的解决方法
    python生成HTMl报告(unittest)
    Linux系统下安装jenkins使用
    jenkins使用
    UI定位元素大全(跟App定位元素差不多哦)
    UI自动化前置代码
    python+selenium+pytest+html报告
    jenkins解决python不是内部命令
    如何做好APP功能测试?
  • 原文地址:https://www.cnblogs.com/liulun/p/1526589.html
Copyright © 2011-2022 走看看