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