美文网首页
oracle-plsql 流程控制

oracle-plsql 流程控制

作者: Java_Evan | 来源:发表于2019-05-22 00:15 被阅读0次

条件语句

--方法一

declare

    v_sum user.sum%type;

begin

    select sum into v_sum from user from id=1;

    if v_sum>=100 then dbms_output.put_line('优秀');

    elsif v_sum>=60 then dbms_output.put_line('良好');

    else dbms_output.put_line('差生');

    end if;

end;

--方法一修改版

declare

v_sum user.sum%type;

v_temp varchar2(20);

begin

select sum into v_sum from user from id=1;

if v_sum>=100 then v_temp := '优秀';

elsif v_sum>=60 then v_temp := '良好';

else v_temp := '差生';

dbms_output.put_line(v_temp);

end if;

end;

--方法二

declare

    v_name varchar2(10);

    v_temp varchar2(10);

begin

    select name into v_name from user where is=1;

    v_temp := case _name when '张三' then ‘A’

                                               when '李四' then 'B'

                                                when '王五' then 'C'

                                                else '赵六'

                         end;

dbms_output.put_line(v_temp);

end;

循环语句

--方法一(循环1-100)

declare
    v_i number(5) :=1;--初始化条件

begin

    loop   --循环体

        dbms_output.put_line(v_i);  

        v_i := v_i + 1;   --迭代条件

     exit when v_i >= 100;   --循环条件

    end loop;

end;

--方法二

declare

    v_i number(5);   --初始化条件

begin

    while v_i<= 100 loop

            dbms_output.put_line(v_i);

            v_i := v_i + 1;

    end loop;

end;

--方法三

begin

    for i in 1..100 loop

        dbms_output.put_line(i);

    end loop;

end;

--方法四(输出2-100的质数,goto标签)

declare

v_flag number(1) :=1;

begin

    for v_i in 2..100 loop

        for v_j in 2..sqrt(v_i) loop

               if mod(v_i,v_j)=0  then v_flag :=0;

                goto label;     --当执行到这里时,跳转到指定标签

        end if;

        end loop;

       <<label>>   --标签

        if v_flag=1 then dbms_output.put_line(v_i);

        end if;

        v_i :=1;

    end loop;

end;

--方法五(打印1-100,到50时,跳出循环)

begin

    for i in 1..100 loop

        if i=50 then goto label;

        end if;;

        dbms_output.put_line(i);

    end loop;

        <<label>>

        dbms_output.put_line('打印结束');

end;

--方法五修改版

begin

    for i in 1..100 loop

        if i=50 then dbms_output.put_line('打印结束');

        exit;

        end if;

        dbms_output.putl_line(i);

    end loop;

end;

相关文章

  • oracle-plsql 流程控制

    条件语句 --方法一 declare v_sum user.sum%type; begin select ...

  • 5-流程控制

    流程控制 流程 计算机执行代码的顺序就是流程 流程控制 对计算机代码执行顺序的管理就是流程控制 流程分类 流程控制...

  • 04-流程控制及while循环

    流程控制 流程: 计算机执行代码的顺序,就是流程。 流程控制: 对计算机代码执行顺序的控制,就是流程控制。 流程分...

  • JavaScript-流程控制语句

    一、if流程控制语句 二、switch流程控制语句 三、流程控制语句

  • js流程控制

    2 - 流程控制 2.1 流程控制概念 2.2 顺序流程控制 ​ 顺序结构是程序中最简单、最基本的流程控制,它...

  • 二级-2.Python流程控制

    流程控制 流程:计算机执行代码的顺序就是流程。 流程控制:对计算机代码执行顺序的管理就是流程控制。 流程控制一共分...

  • Python基础重构-1.3流程控制

    流程控制语句 流程控制语句用来实现对程序流程的选择、循环和返回等进行控制,Python中主要的流程控制包括if(判...

  • activiti学习笔记(九)RuntimeService

    RuntimeService 流程运行控制服务 启动流程及对流程数据的控制 流程实例(ProcessInstanc...

  • 【骚全带你学Java---八、流程控制语句】

    java的流程控制语句包含条件语句和循环语句 一.什么是流程控制语句? ·流程控制语句:可以控制程序的执行流程。 ...

  • 2018-11-29

    17js流程控制switch 17js流程控制switch //js流程控制swi...

网友评论

      本文标题:oracle-plsql 流程控制

      本文链接:https://www.haomeiwen.com/subject/ezpszqtx.html