1. 프로시저 선언부
CREATE OR REPLACE PROCEDURE DW_MANAGER.PUT_COUPON(
IN_CM_SEQ IN VARCHAR2, -- 회원키
IN_TG IN VARCHAR2, -- 타겟쿠폰
RTN_CODE OUT VARCHAR2 -- 결과
) IS
......
BEGIN
......
쿼리에서 돌릴려면 OUT으로 선언된 파라미터를 받을 변수를 선언해줘야 한다.
2. 쿼리 실행
DECLARE 절을 사용해 변수를 선언 후 프로시저 실행
DECLARE
rtnCode varchar2(10);
BEGIN
PUT_COUPON('0000000000010080', '000000025501', rtnCode);
DBMS_OUTPUT.PUT_LINE('결과 : ' || rtnCode);
END;
3. Mybatis에서 실행
rtnCode를 받아야함으로 resultMap을 선언한다.
<resultMap id="rtnCode" type="String"></resultMap>
<select id="callAddCoupon" parameterType="CouponAddReqVO" statementType="CALLABLE">
{ CALL PUT_COUPON(
#{cmSeq, mode=IN, jdbcType=VARCHAR},
#{tg, mode=IN, jdbcType=VARCHAR},
#{rtnCode, mode=OUT, jdbcType=VARCHAR, resultMap=rtnCode})
}
</select>
반응형