Oracle

프로시져 output 변수 있는 경우 사용방법

스마트큐브 2017. 7. 6. 11:01


output 변수가 없는경우는 단순히  call  "프로시저명"  만 사용하면 호출 되었는데 

output 변수가 있는 경우는 아래와 같이 변수 선언과 함께 호출을 해야한다. 


아래 예는  PROC_FUNCTION  이름의 프로시저에   2개의 파라메터('1234', '567')   와    output 변수 v_result  1개를 호출하는 예이다. 


SET SERVEROUTPUT on ;

DECLARE v_result VARCHAR2(4000);

BEGIN

    PROC_FUNCTION('1234', '567',v_result );  

   dbms_output.put_line (' output value is '||v_result  );  

END;


또한 Mybatis 에서 호출하는 경우는 아래와 같이 호출이 가능하다. 

<update id="chagneNoCont"  statementType="CALLABLE"  parameterType="xxx">

call PROC_FUNCTION( 

   #{in_val1}, #{in_val2} 

  ,#{v_result, mode=OUT, javaType=string, jdbcType=VARCHAR}

 )

 </update>