zoukankan      html  css  js  c++  java
  • PL/SQL编程—控制语句

     
    SQL> create or replace procedure sp_pro5(id_in varchar2) is
      2  v_sal mytest.salary%type;
      3  begin
      4  select salary into v_sal from mytest where id=id_in;
      5  if v_sal<130 then
      6  update mytest set salary=1.1*v_sal where id=id_in;
      7  end if;
      8  end;
      9  /
     
    Procedure created
     
    SQL> exec sp_pro5(4);
     
    PL/SQL procedure successfully completed
     
    SQL> select * from mytest;
     
    ID    NAME                 PASSWD                                                                                         SALARY
    ----- -------------------- -------------------- --------------------------------------------------------------------------------
    1     123                  123                                                                                               150
    2     gaodingle!!!!        123                                                                                               150
    3     gagaga               123                                                                                               150
    4     125555               passwd                                                                                             55

    SQL> create or replace procedure sp_pro6(id_in varchar2) is
      2  v_bonus number(6,2);
      3  begin
      4  select bonus into v_bonus from mytest where id=id_in;
      5  if v_bonus=0 then
      6  update mytest set bonus=100 where id=id_in;
      7  else
      8  update mytest set bonus=v_bonus+300 where id=id_in;
      9  end if;
     10  end;
     11  /
     
    Procedure created
     
    SQL> select * from mytest;
     
    ID    NAME                 PASSWD                 SALARY    BONUS
    ----- -------------------- -------------------- -------- --------
    1     123                  123                    120.00     0.00
    2     gaodingle!!!!        123                    120.00     0.00
    3     gagaga               123                    120.00   100.00
    4     125555               passwd                 120.00   100.00
     
    SQL> exec sp_pro6(1);
     
    PL/SQL procedure successfully completed
     
    SQL> select * from mytest;
     
    ID    NAME                 PASSWD                 SALARY    BONUS
    ----- -------------------- -------------------- -------- --------
    1     123                  123                    120.00   100.00
    2     gaodingle!!!!        123                    120.00     0.00
    3     gagaga               123                    120.00   100.00
    4     125555               passwd                 120.00   100.00

    SQL> create or replace procedure sp_pro7 is
      2  i number:=0;
      3  begin
      4  loop
      5  insert into users values(i,'test'||i);
      6  exit when i=3;
      7  i:=i+1;
      8  end loop;
      9  end;
     10  /
     
    Procedure created

  • 相关阅读:
    归并、希尔排序
    堆排序
    [模板] 最小树形图/朱刘算法
    [模板] 常系数线性递推
    [模板] Kruskal算法 && 克鲁斯卡尔重构树
    [模板] 斯特林数,性质以及求法
    这几天想干什么
    奇怪的 Markdown / LaTeX 笔记
    [模板] 各种莫队
    [模板] 2-SAT 问题
  • 原文地址:https://www.cnblogs.com/lingyejun/p/7096689.html
Copyright © 2011-2022 走看看