프로시저 매개변수 개념 ( 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 은 프로시저를 호출했던 곳으로 매개변수를 통해 값을 보냄.

OUT , IN OUT 매개변수에는 디폴트 값을 설정할 수 없다.

댓글

이 블로그의 인기 게시물

전자정부프레임워크 MSSQL 연동하기

request.getServletContext 가 빨간줄 생길때

자바스크립트로 confirm 을 이용한 페이지 이동