Oracle 儲存過程 in、out、in out 引數的使用方法
阿新 • • 發佈:2018-12-11
1. in 引數
用於接收引數,在子程式內部,不能進行修改。預設的引數模式:in
案例:
-- 宣告儲存過程
create or replace procedure pro_in(p_num in number)
is
begin
dbms_output.put_line(p_num);
-- p_num:=10;-- 新增此行編譯報錯,in 引數不能賦值
end pro_in;
-- 呼叫
declare
test number:=1;
begin
pro_in(test);
dbms_output.put_line(test);
end;
結果: 輸出 兩個 1
2.out 引數
輸出模式的引數,用於輸出值,會忽略傳入的值。在子程式內部可以對其進行修改。
呼叫時 引數需要使用變數.
案例:
-- 宣告儲存過程
create or replace procedure pro_out(p_num out number)
is
begin
dbms_output.put_line(p_num);
p_num:=10;
end pro_out;
-- 呼叫
declare
test number:=1;
begin
pro_out(test);
dbms_output.put_line(test);
end;
結果: 忽略輸入的值,輸出一個 空,和一個 10
3. in out 引數
能接收傳入的實參值;在子程式內部可以修改,可以輸出
呼叫時 引數需要使用變數.
案例:
-- 宣告儲存過程
create or replace procedure pro_in_out(p_num in out number)
is
begin
dbms_output.put_line(p_num);
p_num:=10;
end pro_in_out;
-- 呼叫 declare test number:=1; begin pro_in_out(test); dbms_output.put_line(test); end;
結果: 輸出一個 1 和 一個 10