選擇語句

1. if...then 語句
語法:
if < condition_expression > then plsql_sentence end if;condition_expression:表示一個條件表達式,其值為 true 時,程序會執行 if 下面的 PL/SQL 語句;
如果其值為 false,則程序會跳過if 下面的語句而 直接執行 end if 后邊的語句。
plsql_sentence:condition_expression 為 true 時,要執行的語句。
2. if...then...else 語句
語法:
if < condition_expression > then plsql_sentence_1; else plsql_sentence_2; end if;3.if...then...elsif 語句
語法:
if < condition_expression1 > then plsql_sentence_1; elsif < condition_expression2 > then plsql_sentence_2; ... else plsql_sentence_n; end if;4. case 語句
語法:
case < selector > when <expression_1> then plsql_sentence_1; when <expression_2> then plsql_sentence_2; ... when <expression_n> then plsql_sentence_n; [else plsql_sentence;] end case;selector:一個變量,用來存儲要檢測的值,通常稱之為選擇器。
該選擇器的值需要與 when 子句中的表達式的值進行匹配。
expression_1:第一個 when 子句中的表達式,這種表達式通常是一個常量,當選擇器的值等于該表達式的值時,
程序將執行 plsql_setence_1 語句。
expression_2:第二個 when 子句中的表達式,這種表達式通常是一個常量,當選擇器的值等于該表達式的值時,
程序將執行 plsql_setence_2 語句。
expression_n:第 n 個 when 子句中的表達式,這種表達式通常是一個常量,當選擇器的值等于該表達式的值時,
程序將執行 plsql_setence_n 語句。
plsql_sentence:一個 PL/SQL 語句,當沒有與選擇器匹配的 when 常量時,程序將執行該 PL/SQL 語句,
其所在的 else 語句是一個可選項。
例:
指定一個季度數值,然后使用 case 語句判斷它所包含的月份信息并輸出。
代碼:
declare season int:=3; aboutlnfo varchar2(50); begin case season when 1 then aboutlnfo := season||'季度包括1,2,3 月份'; when 2 then aboutinfo := season||'季度包括4,5,6 月份'; when 3 then aboutinfo := season||'季度包括7,8,9 月份'; when 4 then aboutinfo := season||'季度包括10,11,12 月份'; else aboutinfo := season||'季節不合法'; end case; dbms_output.put_line(aboutinfo); end;結果:3季度包括7,8,9 月份
循環語句
1. loop 語句
語法:
loop plsql_sentence; exit when end_condition_exp end loop;plsql_sentence:循環體中的PL/SQL 語句。至少被執行一遍。
end_condition_exp:循環結束條件表達式,當該表達式為 true 時,則程序會退出循環體,否則程序將再次執行。
例:
使用 loop 語句求得前 100 個自然數的和,并輸出到屏幕。
SQL> set serveroutput on; SQL> declare sun_i int:=0; i int:=0; begin loop i:=i+1; sum_i:=sum_i +1; exit when i =100;--當循環 100次,程序退出循環體。 end loop; dbms_output.put_line('前100個自然數和:'||sum_i); end; /2. while 語句
語法:
while condition_expression loop plsql_sentence; end loop;condition_expression: 表示一個條件表達式,但其值為 true 時,程序執行循環體。
否則 程序退出循環體,程序每次執行循環體之前,都判斷該表達式是否為 true。
plsql_sentence:循環內的plsql語句。
例:
使用while 語句求得 前100 個自然數的和,并輸出到屏幕。
declare sum_i int:=0; i int:=0; begin while i<=99 loop i:=i+1; sum_i:=sum_i+1; end loop; dbms_output.put_line('前100 個自然數的和是:'||sum_i); end; /3. for 語句
語法:
for variable_counter_name in [reverse] lower_limit..upper_limit loop plsql_sentence; end loop;variable_counter_name:表示一個變量,通常為整數類型,用來作為計數器。
默認情況下 計數器的值會遞增,當在循環中使用 reverse 關鍵字時,計數器的值會隨循環遞減。
lower_limit:計數器下限值,當計數器的值小于下限值時,退出循環。
upper_limit:計數器上限值,當計數器的值大于上限值時,退出循環。
plsql_sentence:循環內的plsql語句。
例:
使用for語句求得前 100個自然數中偶數之和,并輸出到屏幕。
declare sum_i int:= 0; begin for i in reverse 1..100 loop if mod(i,2)=0 then--判斷是否為偶數 sum_i:=sum_i+i; end if; end loop; dbms_output.put_line('前100個自然數中偶數和:'||sum_i); end; /另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享題目:Oracle之PL/SQL編程_流程控制語句-創新互聯
文章URL:http://www.yijiale78.com/article32/csocsc.html
成都網站建設公司_創新互聯,為您提供做網站、小程序開發、面包屑導航、電子商務、關鍵詞優化、網站導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯