在oracle中,存儲(chǔ)過(guò)程調(diào)用的方法是“declare … begin 存儲(chǔ)過(guò)程調(diào)用開(kāi)始按順序的調(diào)用過(guò)程 END;”;存儲(chǔ)過(guò)程包含了過(guò)程聲明、執(zhí)行過(guò)程部分和存儲(chǔ)過(guò)程異常三個(gè)部分,存儲(chǔ)過(guò)程可以有無(wú)參數(shù)過(guò)程和帶參數(shù)存儲(chǔ)過(guò)程。
本教程操作環(huán)境:windows10系統(tǒng)、Oracle 12c版、Dell G3電腦。
oracle的存儲(chǔ)過(guò)程怎么調(diào)用
Oracle存儲(chǔ)過(guò)程包含三部分:過(guò)程聲明,執(zhí)行過(guò)程部分,存儲(chǔ)過(guò)程異常。
Oracle存儲(chǔ)過(guò)程可以有無(wú)參數(shù)存儲(chǔ)過(guò)程和帶參數(shù)存儲(chǔ)過(guò)程。?
oracle存儲(chǔ)過(guò)程的創(chuàng)建語(yǔ)法
create?or?replace?procedure?存儲(chǔ)過(guò)程名稱 ( --定義輸入、輸出參數(shù)-- 參數(shù)名1?in?參數(shù)類型, 參數(shù)名2?in?參數(shù)類型, 參數(shù)名3?in?參數(shù)類型, 參數(shù)名4?out?參數(shù)類型 ) as --定義變量-- --變量名?變量數(shù)據(jù)類型;如: ?--?numCount?integer;? begin??? ?????--處理方法- end;
上面我們創(chuàng)建一個(gè)處理加、減、乘、除計(jì)算的函數(shù),那么我們也可以建成存儲(chǔ)過(guò)程
/***** **?創(chuàng)建加、減、乘、除計(jì)算的存儲(chǔ)過(guò)程 **輸入?yún)?shù):?數(shù)字1,數(shù)字2,計(jì)算類型 **輸出參數(shù):?數(shù)字3 *****/ create?or?replace?procedure?Proc_Test ( --定義輸入、輸出參數(shù)-- num_A?in?integer, num_B?in?integer, numType?in?integer, num_C?out?integer ) as --定義變量-- ?--?numCount?integer; ?--?numStr?varchar(20);?? begin??? ?????--判斷計(jì)算類型-- ?????if?numType=1?then ????????num_C?:=?num_A?+?num_B; ?????elsif?numType=2?then ????????num_C?:=?num_A?-?num_B; ?????elsif?numType=3?then ????????num_C?:=?num_A?*?num_B;? ?????elsif?numType=4?then ????????num_C?:=?num_A?/?num_B;? ?????else ?????--其它處理 ???????dbms_output.put_line('其它處理'); ?????end?if; end;
那么如何調(diào)用存儲(chǔ)過(guò)程
declare?num_C?integer; begin ???--調(diào)用存儲(chǔ)過(guò)程--- ???Proc_Test(3,4,3,num_C); ???dbms_output.put_line('輸出結(jié)果:'||?num_C?); end;
輸出結(jié)果
推薦教程:《Oracle視頻教程》
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。
THE END
喜歡就支持一下吧
相關(guān)推薦