oracle存儲過程--流程控制(條件判斷和循環遍歷)


*流程控制*

*條件分支(判斷)*

語法:

Begin
  If 條件1 then 執行1
  Elsif  條件2  then 執行2
  Else  執行3
  End if;
End;

If 條件1 then 執行1

Elsif 條件2 then 執行2 Else 執行3 End if;End;

注意:關鍵字 Elsif

小案例:--判斷emp表中的記錄** 是否超過20條,10-20之間,或者10條以下

**--判斷emp表中的記錄** **是否超過20條,10-20之間,或者10條以下**

declare

 **--聲明變量接收emp表中的記錄數**

 v_count number;
begin

 select count(1) into v_count from emp;

 if v_count > 20 then

  dbms_output.put_line('emp表中的記錄數超過了20條為:' || v_count);

 elsif v_count >= 10 then

  dbms_output.put_line('emp表中的記錄數為10-20之間為:' || v_count);

 else

  dbms_output.put_line('emp表中的記錄數為10條以下為:' || v_count);

 end if;

end;

執行結果:

emp表中的記錄數為10-20之間為:14

*循環*

在oracle中有三種循環方式,這里我們不展開,只介紹其中一種:loop循環

語法:

Begin
  Loop
Exit when 退出循環條件
  End loop;
End;

小案例:打印數字1-10

【示例】打印數字1-10
--打印數字1-10
declare
  --聲明循環變量並賦初始值
  v_num number  :=1;
begin
 loop
   --退出循環的條件
   exit when v_num >10;
   dbms_output.put_line(v_num);
   --循環變量自增
   v_num :=v_num+1;
 end loop;
end;

執行結果:
1
2
3
4
5
6
7
8
9
10


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM