欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle條件判斷之IF ELSE的使用方式

 更新時間:2025年06月09日 10:37:07   作者:雷神樂樂  
這篇文章主要介紹了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中誤刪除表后恢復語句(FLASHBACK)

    oracle中誤刪除表后恢復語句(FLASHBACK)

    在操作過程中難免會誤操作,出現(xiàn)這種情況應該怎樣解決呢?不要著急,下面與大家分享下誤刪的恢復語句
    2013-06-06
  • oracle中l(wèi)eft join和right join的區(qū)別淺談

    oracle中l(wèi)eft join和right join的區(qū)別淺談

    oracle中l(wèi)eft join和right join的區(qū)別淺談,需要的朋友可以參考一下
    2013-02-02
  • oracle 10g 快照操作方法

    oracle 10g 快照操作方法

    本文將詳細介紹oracle 10g 快照操作方法包括創(chuàng)建、刷新、修改等,需要了解的朋友可以參考下
    2012-12-12
  • Oracle 數(shù)據(jù)倉庫ETL技術(shù)之多表插入語句的示例詳解

    Oracle 數(shù)據(jù)倉庫ETL技術(shù)之多表插入語句的示例詳解

    Oracle 數(shù)據(jù)庫為 ETL 流程提供了豐富的功能,今天我們就給大家介紹一下 Oracle 多表插入語句,也就是 INSERT ALL 語句,今天通過示例代碼給大家介紹Oracle 數(shù)據(jù)倉庫 ETL 技術(shù)之多表插入語句的相關(guān)知識,感興趣的朋友一起看看吧
    2021-04-04
  • Oracle數(shù)據(jù)庫ORA-28040:沒有匹配的驗證協(xié)議解決辦法

    Oracle數(shù)據(jù)庫ORA-28040:沒有匹配的驗證協(xié)議解決辦法

    這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫ORA-28040:沒有匹配的驗證協(xié)議問題的解決辦法,ORA-28040是Oracle數(shù)據(jù)庫的錯誤代碼,表示沒有匹配的驗證協(xié)議,這通常是由于客戶端和服務器之間的身份驗證協(xié)議不匹配導致的,需要的朋友可以參考下
    2024-03-03
  • 在Oracle中導入dmp文件的方法

    在Oracle中導入dmp文件的方法

    這篇文章主要介紹了如何在Oracle中導入dmp文件,很簡單,但很實用,需要的朋友可以參考下
    2014-09-09
  • oracle12c安裝報錯:PRVF-0002的解決方法

    oracle12c安裝報錯:PRVF-0002的解決方法

    本文為大家介紹下如何解決oracle12c安裝報錯:PRVF-0002,具體的排查思路如下,有類似情況的朋友可以參考下
    2013-09-09
  • 教你設(shè)計大型Oracle數(shù)據(jù)庫

    教你設(shè)計大型Oracle數(shù)據(jù)庫

    表及索引的存儲容量估算是根據(jù)其記錄長度及估算的最大記錄數(shù)確定的。在容量計算中考慮了數(shù)據(jù)塊的頭開銷及記錄和字段的頭開銷等等。表及索引的initial和next存儲參數(shù)一般設(shè)為相等,pctincrease設(shè)為0。
    2009-06-06
  • oracle 數(shù)據(jù)按主鍵刪除慢問題的解決方法

    oracle 數(shù)據(jù)按主鍵刪除慢問題的解決方法

    下面小編就為大家?guī)硪黄猳racle 數(shù)據(jù)按主鍵刪除慢問題的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • oracle 分頁問題解決方案

    oracle 分頁問題解決方案

    測試說分頁查詢貌似不起作用,翻到第4頁以后,看到的數(shù)據(jù)結(jié)果都是相同的,此等問題應該如何解決,本文將詳細介紹
    2012-11-11

最新評論