Oracle儲存過程乾貨(二):PLSQL控制語句
---if then els if end if, 單條件判斷 ---
declare v_grade char(1); begin v_grade := 'B'; if v_grade = 'A' then dbms_output.put_line('哥真牛逼'); else dbms_output.put_line('哥還得加油'); end if; end; /
---if then elsif then else end if, 多條件判斷 ---
declare v_grade char(1); begin v_grade := 'X'; if v_grade = 'A' then dbms_output.put_line('哥是優等生'); elsif v_grade = 'B' then dbms_output.put_line('哥成績一般'); elsif v_grade = 'C' then dbms_output.put_line('哥是拖後腿'); else dbms_output.put_line('哥不能用成績衡量'); end if; end; /
---case when end case 判斷 ---
declare v_grade char(1); begin v_grade := 'A'; case when v_grade = 'A' then dbms_output.put_line('哥是優等生'); when v_grade = 'B' then dbms_output.put_line('哥成績一般'); when v_grade = 'C' then dbms_output.put_line('哥是吊車尾'); else dbms_output.put_line('哥不能用成績衡量'); end case; end;
留了思考題,大家可以先嚐試自己做,再看答案。
問題:請大家分別用if和case when的方法返回如下對應資訊
工資在700-1200,返回:工資真tm低,要不要人活了!
工資在1200-1500,返回:工資好低
工資在1500-3000,返回:剛好能活下去
工資高於3000,返回:哥真牛逼
- - - - - - -
答案
1、---用if then elsif判斷員工編號的生存情況---
declare v_sal number; begin select sal into v_sal from emp where empno = 7839; if v_sal >= 700 and v_sal<1200 then dbms_output.put_line('工資真tm低,要不要人活了!'); elsif v_sal >= 1200 and v_sal<1500 then dbms_output.put_line('工資好低'); elsif v_sal >= 1500 and v_sal<3000 then dbms_output.put_line('剛好能活下去'); elsif v_sal > 3000 then dbms_output.put_line('哥很牛逼!'); end if; end; /
2、---用case when判斷員工編號的生存情況---
declare v_sal number; begin select sal into v_sal from emp where empno = 7839; case when v_sal >= 700 and v_sal < 1200 then dbms_output.put_line('工資真tm低,沒法活了'); when v_sal >= 1200 and v_sal < 1500 then dbms_output.put_line('工資好低'); when v_sal >= 1500 and v_sal < 3000 then dbms_output.put_line('剛好夠活'); when v_sal > 3000 then dbms_output.put_line('哥真牛逼'); end case; end; /
來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70013625/viewspace-3008219/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle儲存過程乾貨(三):PLSQL迴圈語句Oracle儲存過程SQL
- Oracle儲存過程乾貨(一):儲存過程基礎Oracle儲存過程
- MySQL儲存過程語句及呼叫MySql儲存過程
- Oracle儲存過程Oracle儲存過程
- EF中使用SQL語句或儲存過程SQL儲存過程
- PostgreSQL獲取建表語句儲存過程SQL儲存過程
- oracle的儲存過程Oracle儲存過程
- Oracle儲存過程-1Oracle儲存過程
- 原創:oracle 儲存過程Oracle儲存過程
- 金倉資料庫KingbaseES儲存過程 RETURN語句資料庫儲存過程
- Mysql儲存過程 變數,條件,迴圈語句用法MySql儲存過程變數
- oracle儲存過程書寫格式Oracle儲存過程
- Sqlsugar呼叫Oracle的儲存過程SqlSugarOracle儲存過程
- LightDB/PostgreSQL 相容Oracle儲存過程SQLOracle儲存過程
- 深入解讀MySQL InnoDB儲存引擎Update語句執行過程MySql儲存引擎
- oracle儲存過程和觸發器Oracle儲存過程觸發器
- Oracle 儲存過程分頁 + Sqlsugar呼叫Oracle儲存過程SqlSugar
- 函式儲存過程併發控制-案例函式儲存過程
- ibatis呼叫oracle儲存過程(極簡版)BATOracle儲存過程
- 利用dbms_profile定位儲存過程或者package裡低效率語句儲存過程Package
- Oracle資料庫SQL語句執行過程Oracle資料庫SQL
- Springboot呼叫Oracle儲存過程的幾種方式Spring BootOracle儲存過程
- Oracle 編譯儲存過程卡死解決方法Oracle編譯儲存過程
- oracle快速拿到重建控制檔案語句的方法二Oracle
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- 儲存過程與儲存函式儲存過程儲存函式
- SQLSERVER儲存過程SQLServer儲存過程
- 呼叫儲存過程儲存過程
- mysql 儲存過程MySql儲存過程
- unidac儲存過程儲存過程
- firedac儲存過程儲存過程
- Oracle儲存過程中定義多個遊標Oracle儲存過程
- Oracle儲存過程中跳出迴圈的寫法Oracle儲存過程
- Oracle儲存過程編譯卡死的解決方法Oracle儲存過程編譯
- oracle儲存過程許可權繼承小結Oracle儲存過程繼承
- 乾貨:如何通過Federation將Hadoop儲存容量提升4倍?Hadoop
- JdbcTemplate調儲存過程JDBC儲存過程
- 造數儲存過程儲存過程