在oracle中,存儲(chǔ)過程調(diào)用的方法是“declare … begin 存儲(chǔ)過程調(diào)用開始按順序的調(diào)用過程 END;”;存儲(chǔ)過程包含了過程聲明、執(zhí)行過程部分和存儲(chǔ)過程異常三個(gè)部分,存儲(chǔ)過程可以有無參數(shù)過程和帶參數(shù)存儲(chǔ)過程。
本教程操作環(huán)境:windows10系統(tǒng)、Oracle 12c版、Dell G3電腦。
oracle的存儲(chǔ)過程怎么調(diào)用
Oracle存儲(chǔ)過程包含三部分:過程聲明,執(zhí)行過程部分,存儲(chǔ)過程異常。
Oracle存儲(chǔ)過程可以有無參數(shù)存儲(chǔ)過程和帶參數(shù)存儲(chǔ)過程。
oracle存儲(chǔ)過程的創(chuàng)建語法
create or replace procedure 存儲(chǔ)過程名稱 ( --定義輸入、輸出參數(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ǔ)過程
/***** ** 創(chuàng)建加、減、乘、除計(jì)算的存儲(chǔ)過程 **輸入?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ǔ)過程
declare num_C integer; begin --調(diào)用存儲(chǔ)過程--- Proc_Test(3,4,3,num_C); dbms_output.put_line('輸出結(jié)果:'|| num_C ); end;
輸出結(jié)果
推薦教程:《Oracle視頻教程》