茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1672158 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_60D_00008.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2019/5/30 15:14:11

oracle條件分支用法 oracle 之if..else用法

oracle 條件分支用法


a.if...then


b.if...then... else


c.if...then... elsif.... else

實例 1


問題:編寫一個過程,可以輸入一個僱員名,如果該僱員的工資低於 2000,就給該員工工資增加 10 %
create or replace procedure sp_pro6( spName varchar2) is v_sal emp_copy.sal %type ;

begin

select sal into v_sal from emp_copy where ename=
spName;

if v_sal<2000 then

update emp_copy set sal= sal*1.1 where ename= spName;

end if;

end;

實例 2


問題:編寫一個過程,可以輸入一個僱員名,如果該僱員的 補助不是 0就在原來的基礎上增加 100;如果補助為 0就把補助設為 200

create or replace procedure sp_pro6( spName varchar2) is

v_comm emp_copy.comm %type;

begin

select
comm into v_comm from emp_copy where ename= spName;

if v_comm<>0 then

update emp_copy set comm= comm+100 where ename= spName;

else

update emp_copy set comm= comm+200 where ename= spName;

end if;

end;

實例 3

多重條件分支
if
then

elsif then .


問題:編寫一個過程,可以輸入一個僱員編號,如果該僱員的職位是 PRESIDENT


給他的工資增加 1000,如果該僱員的職位是 MANAGER就給他的工資增加 500,其它


職位的僱員工資增加 200


create or replace procedure sp_pro6( spNo number) is

v_job emp_copy.job %type;

begin

select job into v_job from emp_copy where empno= spNo;

if v_job='PRESIDENT'
then

update emp_copy set sal= sal+1000 where empno= spNo;

elsif v_job='MANAGER'
then

update emp_copy set sal= sal+500 where empno= spNo;

else

update emp_copy set sal= sal+200 where empno= spNo;

end if;

end;


原文出處:oracle条件分支用法 oracle 之if..else用法 - zzm628的专栏 - CSDN博客
內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|