控制結構【PL/SQL】
阿新 • • 發佈:2018-12-10
1. if --then--end if ;
-- 編寫一個過程,可以輸入一個僱員名,如果該僱員的工資低於 -- 2000,就給該僱員工資增加10% create or replace procedure update_sal_pro(chName varchar2) is --定義變數 v_sal emp.sal%type; begin --執行部分 select sal into v_sal from emp where ename=chName; if v_sal<2000 then update emp set sal=sal*(1+0.1) where ename=chName; end if; end;
2. if --then--else --endif;
-- 編寫一個過程,可以輸入一個僱員名,如果該僱員的補助不是0 -- 就在原來的基礎上增加100;如果補助為0就把補助設為200 create or replace procedure update2_pro(chName varchar2) is v_comm emp.comm%type; begin select comm into v_comm from emp where emp.ename=chName; if v_comm>0 then update emp set comm=comm+100 where ename=chName; else update emp set comm=200 where ename=chName; end if; end;
3. if --then--elsif --else--endif;
-- 輸入一個僱員編號,如果是該僱員的職位是PRESIDENT就給他的工資增加1000 -- 如果是MANAGER,就給他加500 -- 其他加200. create or replace procedure update3_pro(ch_empno number) is v_job emp.job%type; begin select job into v_job from emp where emp.empno=ch_empno; if v_job='PRESIDENT' then update emp set sal=sal+1000 where empno=ch_empno; elsif v_job='MANAGER' then update emp set sal=sal+500 where empno=ch_empno; else update emp set sal=sal+200 where empno=ch_empno; end if; end;