프로시저 매개변수 개념 ( OUT, IN, IN OUT )
CREATE OR REPLACE PROCEDURE my_parameter_test_proc(
p_var1 VARCHAR2,
p_var2 OUT VARCHAR2,
p_var3 IN OUT VARCHAR2
)
IS
BEGIN
DBMS_OUTPUT.PUT_LINE('p_var1:'|| p_var1);
DBMS_OUTPUT.PUT_LINE('p_var2:'|| p_var2);
DBMS_OUTPUT.PUT_LINE('p_var3:'|| p_var3);
p_var2 := 'B2';
p_var3 := 'C2';
END;
/
실행 프로시저
DECLARE
var_1 VARCHAR2(10) := 'A';
var_2 VARCHAR2(10) := 'B';
var_3 VARCHAR2(10) := 'C';
BEGIN
my_parameter_test_proc(var_1,var_2,var_3);
DBMS_OUTPUT.PUT_LINE('var_2:'|| var_2);
DBMS_OUTPUT.PUT_LINE('var_3:'|| var_3);
END;
/
결과값 :
p_var1:A
p_var2:
p_var3:C
var_2:B2
var_3:C2
실행 프로시저에서 my_parameter_test_proc 프로시저 실행 .
p_var2 매개변수는 OUT 이라 매개변수를 받지못함.
프로시저가 끝나면 OUT 과 IN OUT 은 프로시저를 호출했던 곳으로 매개변수를 통해 값을 보냄.
댓글
댓글 쓰기