zoukankan      html  css  js  c++  java
  • PL/SQL if case when

    if (分3类)

      java 

      if (条件) {

          ....

      }

      

      pl/sql

      if 条件 then

          .....

      end if;

    ----------------

    select * from tt3

    select age from tt3 where id=1

    ----------------------

    declare

      myage tt3.age%type;

    begin

      select age into myage from tt3 where id=1;

      --if (age>=19) {

      --   System.out.println("成年人");

      --}

      if myage>=19 then

          dbms_output.put_line('成年人');

      end if;

    end;

    ---------------------------

    if else

      java

      if(条件){

        ...

      }else{

        ...

      }

      

      pl/sql

      if 条件 then

      

      else

        

      end if;

      

    declare

      myage tt3.age%type;

    begin

      select age into myage from tt3 where id=1;

      if myage>=18 then

          dbms_output.put_line('成年人');

      else

        dbms_output.put_line('未成年人');    

      end if;

    end;

    update tt3 set age=19 where id=1

    commit;

    -------------------------

    if else if else 

      java

      if(条件1){

         ....

      }else if(条件2) {

        ....

      }else {

      

      }

      

      pl/sql

      if 条件1 then

        

      elsif 条件2 then

      

      else

        

      end if;

    ------------------

    declare

      myage tt3.age%type;

    begin

      select age into myage from tt3 where id=1;

      if myage>=50 then

          dbms_output.put_line('中老年人');

      elsif myage>=18 then

          dbms_output.put_line('成年的年青人');

      else

        dbms_output.put_line('未成年人');    

      end if;

    end;

      

    -----------------

    case (也分3种)

      

    第一种:有selector,并且执行语句

      case [selector]

        when 1 then 语句1;

        when 2 then 语句2;

        when 3 then 语句3;

        else 语句4

      end case;

      

    declare

      my_user tt3%rowtype;

    begin

      select * into my_user from tt3 where id=1;

      -- my_user.city

      case my_user.city

        when '北京' then dbms_output.put_line('长城很好玩');

        when '上海' then dbms_output.put_line('浦东很好玩');

        when '珠海' then dbms_output.put_line('南方IT最好玩');

        else

          dbms_output.put_line('不如到珠海南方玩一下');

      end case;

    end;

      

    update tt3 set city='上海' where id=1

    commit;

      

    第二种:有selector,单不执行语句,而是返回一个值

    既然有返回值,那么就可以赋值给其它的变量

      case [selector]

        when 1 then '返回结果1';

        when 2 then '返回结果2';

        when 3 then '返回结果3';

        else '返回结果4'

      end case;

      

    ---------------

    select * from tt3 where id=1;

    --------------

    declare

      my_user tt3%rowtype;

      show_message varchar2(200);

    begin

      select * into my_user from tt3 where id=1;

      -- my_user.city

      show_message:=

      case my_user.city

        when '北京' then '长城'

        when '上海' then '浦东'

        when '珠海' then '南方'

        else '珠海南方'

      end;

      dbms_output.put_line(my_user.user_name||'('||my_user.city||')'||show_message||'很好玩');

    end;

    ----------

    第二种:没有selector,也不执行语句,

    但是可以每个when单独的表达式,然后最后返回值

    declare

      my_user tt3%rowtype;

      show_message varchar2(200);

    begin

      select * into my_user from tt3 where id=1;

      show_message:=

      case 

        when my_user.age>50 then '来自于'||my_user.city|| my_user.user_name ||'是一个中老年年人'

        when my_user.age>=18 then my_user.user_name || '是一个成年人'

        else

            my_user.user_name || '是个未成年人,'||'可以到'||my_user.city||'找她'

      end;

      dbms_output.put_line(show_message);

    end;

    update tt3 set age=12 where id=1

    commit;

  • 相关阅读:
    Codeforces Round #592 (Div. 2)C. The Football Season(暴力,循环节)
    Educational Codeforces Round 72 (Rated for Div. 2)D. Coloring Edges(想法)
    扩展KMP
    poj 1699 Best Sequence(dfs)
    KMP(思路分析)
    poj 1950 Dessert(dfs)
    poj 3278 Catch That Cow(BFS)
    素数环(回溯)
    sort与qsort
    poj 1952 buy low buy lower(DP)
  • 原文地址:https://www.cnblogs.com/sheying/p/8651476.html
Copyright © 2011-2022 走看看