ORACLE 流程控制語句

2021-08-20 04:26:46 字數 2355 閱讀 1464

一、選擇語句

1、if...then 語句

示例:

if temp1.order_type='normal_asn' then

insert into baan.twhinh905201@erp(t$sorn,t$spon,t$orno,t$pono,t$qrcr,t$cwar,t$item,

t$stat,t$whid,t$prdt,t$refcntd,t$refcntu) values

(temp1.shdh,temp1.line_no,temp1.order_code,temp1.order_line_no,temp1.rec_qty,temp1.inv_loc,

temp1.itemcode,' ',temp1.id-4500000000,sysdate-1/3,0,0);

commit;

end if;

2、if...then...else 語句

示例:

if order_rec_01.t5 like '8%'

then m1 := 'y';

else m1 := 'n';

end if;

3、if...then...elsif 語句

示例:

if re_task_01.t2='a-01020101' then

m1 := '10001';

elsif re_task_01.t2='a-01020201' then

m1 := '10004';

elsif re_task_01.t2='a-01020102' then

m1 := '10005';

else

m1 := '10003';

end if;

4、case 語句

示例:

case when re_m_1.m3  in ( 'finished','working') then

m15 := m15+1;

when re_m_1.m3 ='open'then

m11 := m11+1;

if re_m_1.m2 <= 3 then

m12 := m12+1;

elsif re_m_1.m2 >= 3 and re_m_1.m2 <= 5 then

m13 := m13+1;

else

m14 := m14+1;

end if;

end case;

二、迴圈語句

1、loop 語句

示例:

declare

sum_i int:=0;

i int :=0;

begin

loop

i:=i+1;

sum_i:=sum_i+i;

exit when i=100;

end loop;

dbms_output.put_line('1~100的和為:'||sum_i);

end;

2、while語句

示例:

declare

sum_i int:=0;

i int :=0;

begin

while i<=99 loop

i:=i+1;

sum_i:=sum_i+i;

end loop;

dbms_output.put_line('1~100的和為:'||sum_i);

end;

3、for 語句

示例:

declare

sum_i int:=0;

begin

for i reverse 1..100 loop

if mod(i,2)=0 then

sum_i:=sum_i+i;

end if;

end loop;

dbms_output.put_line('1~100的偶數之和為:'||sum_i);

end;

4、goto 語句

goto 語句的語法是:

goto label;

這是個無條件轉向語句。當執行goto語句時,控制程式會立即轉到由標籤標識的語句。其中,label是在pl/sql中定義的符號。標籤使用雙箭頭括號(<<>>)括起來的。

示例:

...--程式其他部分

<> --定義了乙個轉向標籤

...--程式其他部分

if i>100 then

goto goto_mark; --如果條件成立則轉向標籤繼續執行

...--程式其他部分

Python流程控制語句流程控制語句

流程控制語句1 if語句 if 語句基本用法 if 表示式 語句塊其中,表示式可以是乙個單純的布林值或變數,也可以是比較表示式或邏輯表示式,如果表示式為真,則執行 語句塊 如果表示式的值為假,就跳 過 語句塊 繼續執行後面的語句。2 if else語句 if else 語句基本用法 if 表示式 語...

流程控制語句

for a b c 若迴圈體中出現continue,c語句仍得到執行。while dowhile b 執行完do後大括號,再檢驗while b 條件,若為真,繼續。從而有a語句塊至少執行一次的特性。continue 迴圈體內餘下語句忽略,繼續下次迴圈。break用於跳出迴圈或switch.case....

流程控制語句

迴圈 while do while for 判斷 if else switch case 異常處理 try catch finally throw 分支 break continue label return 迴圈 while和do while語句 while語句用於在條件保持為true時反覆執行乙...