Oracle條件判斷之IF ELSE的使用方式
Oracle條件判斷之IF ELSE
1.條件判斷語法
IF 條件1 THEN 執(zhí)行的邏輯1; ELSIF 條件2 THEN --條件1不滿足的時候,會先判斷是否滿足條件2 執(zhí)行的邏輯2; ELSE ---條件1 和條件2 都不滿足 執(zhí)行的邏輯3; END IF; ---結(jié)束 IF ELSE 條件判斷
2.練習1
傳入一個員工的編號
如果這個員工的工資小于1000,就給他加300獎金
如果這個員工的工資 1000 到 2000,就給他加200獎金
如果這個員工的工資 大于 2000,就給他加100獎金
select * from emp where empno=7788;
DECLARE v_EMPNO number := &input; v_SAL number; BEGIN select sal into v_SAL from emp where empno = v_EMPNO; IF v_SAL < 1000 THEN UPDATE emp set comm = nvl(comm, 0) + 300 where empno = v_EMPNO; -- commit; ELSIF v_SAL between 1000 and 2000 THEN --條件1不滿足的時候,會先判斷是否滿足條件2 UPDATE emp set comm = nvl(comm, 0) + 200 where empno = v_EMPNO; -- commit; ELSE ---條件1 和條件2 都不滿足 UPDATE emp set comm = nvl(comm, 0) + 100 where empno = v_EMPNO; END IF; ---結(jié)束 IF ELSE 條件判斷 -- commit; END; select * from emp where empno=7788;
3.練習2
示例:用戶輸入 員工編號,判斷 這個員工所在部門的人數(shù),如果3個以內(nèi),則不變,如果5個以內(nèi) 則 該部門所有員工降薪100,否則 所有員工降薪200
DECLARE v_EMPNO EMP.EMPNO%TYPE := &input; v_COUNT number; BEGIN select count(1) into v_COUNT from emp WHERE DEPTNO IN (SELECT DEPTNO FROM EMP WHERE EMPNO = V_EMPNO); IF v_COUNT < 3 THEN NULL; ELSIF v_COUNT >= 3 and v_COUNT < 5 THEN UPDATE emp set sal = sal - 100 where DEPTNO IN (SELECT DEPTNO FROM EMP WHERE EMPNO = V_EMPNO); -- commit; ELSE UPDATE emp set sal = sal - 200 where DEPTNO IN (SELECT DEPTNO FROM EMP WHERE EMPNO = V_EMPNO); END IF; -- commit; END;
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
oracle中l(wèi)eft join和right join的區(qū)別淺談
oracle中l(wèi)eft join和right join的區(qū)別淺談,需要的朋友可以參考一下2013-02-02Oracle 數(shù)據(jù)倉庫ETL技術(shù)之多表插入語句的示例詳解
Oracle 數(shù)據(jù)庫為 ETL 流程提供了豐富的功能,今天我們就給大家介紹一下 Oracle 多表插入語句,也就是 INSERT ALL 語句,今天通過示例代碼給大家介紹Oracle 數(shù)據(jù)倉庫 ETL 技術(shù)之多表插入語句的相關(guān)知識,感興趣的朋友一起看看吧2021-04-04Oracle數(shù)據(jù)庫ORA-28040:沒有匹配的驗證協(xié)議解決辦法
這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫ORA-28040:沒有匹配的驗證協(xié)議問題的解決辦法,ORA-28040是Oracle數(shù)據(jù)庫的錯誤代碼,表示沒有匹配的驗證協(xié)議,這通常是由于客戶端和服務器之間的身份驗證協(xié)議不匹配導致的,需要的朋友可以參考下2024-03-03oracle 數(shù)據(jù)按主鍵刪除慢問題的解決方法
下面小編就為大家?guī)硪黄猳racle 數(shù)據(jù)按主鍵刪除慢問題的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10