Oracle函式及流程控制語句

2021-09-27 12:51:07 字數 2752 閱讀 4563

create

orreplace

function

"at"

(p1

innumber,p2 in

number

)return

varchar2

/** as和is沒區別 *

*/as

begin

/** 建立區域性變數寫法 *

*/declare

res

varchar2(20

);

begin

res :='

first test!';

return

res;

end;

end;

select at(1,2) from dual

create

orreplace

function

"at"

(p1

innumber,p2 in

number

)return

varchar2

asbegin

declare

res

varchar2(500

);

begin

res :='

first test!';

/** if語句 *

*/if p1=

0then res := concat(res,'

p1==0;');

else res := concat(res,'

p1!=0;');

endif

;

/** case...when... 類似於switch語句 *

*/case

p1

when

0then res := concat(res,'

p1==0;');

else res := concat(res,'

p1!=0;');

endcase

;

/** loop基本結構,可以不使用別名,使用exit結束迴圈 *

*/<>

loop

--todo sth

exit loop1 when

1>0;

endloop;

/** for迴圈 *

*/declare

begin

for i in

1..3

loop

--todo sth

res := concat(res,''

);

endloop;

end;

/** 帶引數的迴圈,exit...when...類似於do...while...語句 *

*/declare

i number:=0;

begin

<>

loop

i := i +1;

--todo sth

exit loop2 when i>3;

endloop;

end;

/** 使用continue跳過本次迴圈 *

*/declare

i number:=0;

begin

<>

loop

i := i +1;

if i<

3then

continue

;

else

exit

loop3;

endif

;

endloop;

end;

/** while...loop...語句,同其它語言的while迴圈 *

*/declare

i number:=0;

begin

while i<

3loop

i := i +1;

--todo sth

endloop;

end;

return

res;

end;

end;

/*

* 如果引數包含多個返回值,可以使用帶out的函式 *

*/create

orreplace

function

"aout"

(p1 out

number,p2 out number

)return

number

asbegin

p1:=1;

p2:=2

; return0;

end;

/*

* 帶out的函式不方便在select語句中直接使用,最好在儲存過程或者其它自定義函式中加工一下 *

*/create

orreplace

function

"bout"

return

number

asbegin

declare

res1

number;res2 number;p1 number;

begin

p1 :

=aout(res1,res2);

return res1+

res2;

end;end

;select bout() from dual;

ORACLE 流程控制語句

一 選擇語句 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...

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....