mybatis 调用存在过程

mybatis 调用存在过程{ call proc_saveamt_grant(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) }

Serivice
SAICDao.insertTsaveamt(tsaveamt);

根据mybatis 的 配置。返回的值自动保存在tsaveamt
DAO
void insertTemploydcmSQ(Tmember tmember)throws SQLException;



[quote]<select id="insertTsaveamt" parameterType="cn.com.mmm.customer.domain.Tsaveamt" statementType="CALLABLE" >
{call proc_saveamt_grant(#{memb_no},#{proc_gb},#{proc_yn},#{order_no},#{order_g_seq},#{order_d_seq},#{order_w_seq},#{saveamt_gb},#{saveamt_gb}
,#{saveamt},#{save_note},#{expire_date,jdbcType=TIMESTAMP},#{proc_id},#{c_code},'',#{rtnCode,mode=OUT,jdbcType=VARCHAR},#{rtnNo,mode=OUT,jdbcType=INTEGER},#{rtnMsg,mode=OUT,jdbcType=VARCHAR})}
</select>[/quote]


[quote]CREATE OR REPLACE PROCEDURE MMM.PROC_SAVEAMT_GRANT(
V_MMM_CUST_NO IN TSAVEAMT_MMM.MEMB_NO%TYPE
, V_MMM_PROC_GB_MMM IN TSAVEAMT_MMM.PROC_GB%TYPE
, V_MMM_PROC_YN IN TSAVEAMT_MMM.PROC_YN%TYPE
, V_MMM_ORDER_NO IN TSAVEAMT_MMM.ORDER_NO%TYPE
, V_MMM_ORDER_G_MMM_SEQ IN TSAVEAMT_MMM.ORDER_G_MMM_SEQ%TYPE
, V_MMM_ORDER_D_MMM_SEQ IN TSAVEAMT_MMM.ORDER_D_MMM_SEQ%TYPE
, V_MMM_ORDER_W_MMM_SEQ IN TSAVEAMT_MMM.ORDER_W_MMM_SEQ%TYPE
, V_MMM_SAVEAMT_GB IN TSAVEAMT_MMM.SAVEAMT_GB%TYPE
, V_MMM_SAVEAMT_CODE IN TSAVEAMT_MMM.SAVEAMT_CODE%TYPE
, V_MMM_SAVEAMT IN TSAVEAMT_MMM.SAVEAMT%TYPE
, V_MMM_SAVE_NOTE IN TSAVEAMT_MMM.SAVE_NOTE%TYPE
, V_MMM_EXPIRE_DATE IN TSAVEAMT_MMM.EXPIRE_DATE%TYPE
, V_MMM_USER_ID IN TSAVEAMT_MMM.PROC_ID%TYPE
, V_MMM_C_CODE IN TSAVEAMT_MMM.C_CODE%TYPE
, V_MMM_SITE_CODE IN TSAVEAMT_MMM.SITE_CODE%TYPE
, ERRCODE OUT VARCHAR2
, ERRNO OUT NUMBER
, ERRMSG OUT VARCHAR2)
IS
V_MMM_SAVEAMT_MMM_SEQ_MMM TSAVEAMT_MMM.SAVEAMT_MMM_SEQ%TYPE;
V_MMM_SYSDATETIME DATE;
V_MMM_ERRCODE VARCHAR2(2);
V_MMM_ERRNO NUMBER;
V_MMM_ERRMSG VARCHAR2(100);
P_EXPIRE_DATE DATE;
BEGIN
IF V_MMM_PROC_GB_MMM != '1' AND V_MMM_PROC_GB_MMM != '0' AND V_MMM_PROC_YN != '1' AND V_MMM_PROC_YN != '0'
THEN
V_MMM_ERRCODE := 'ER';
V_MMM_ERRNO := 999;
V_MMM_ERRMSG := 'IT IS WRONG PARAMETER! PROC_GB, PROC_YN';
GOTO ERROR_ROUTINE;
END IF;

IF V_MMM_PROC_YN = '1'
THEN
P_EXPIRE_DATE := V_MMM_EXPIRE_DATE;
END IF;

BEGIN
SELECT LPAD(TO_NUMBER(NVL(MAX(SAVEAMT_MMM_SEQ),200000)) + 1, 10, '0'), SYSDATE
INTO V_MMM_SAVEAMT_MMM_SEQ_MMM, V_MMM_SYSDATETIME
FROM TSAVEAMT_MMM
WHERE MEMB_NO = V_MMM_CUST_NO;
EXCEPTION WHEN OTHERS THEN
V_MMM_ERRCODE := 'ER';
V_MMM_ERRNO := ABS(SQLCODE);
V_MMM_ERRMSG := SUBSTR (SQLERRM, 1, 100);
GOTO ERROR_ROUTINE;
END;

BEGIN
INSERT INTO TSAVEAMT_MMM(
MEMB_NO, SAVEAMT_MMM_SEQ, SAVEAMT_MMM_SEQ_PRE, SAVEAMT_MMM_SEQ_ORG
, PROC_GB, PROC_YN, ORG_YN, ORDER_NO, ORDER_G_MMM_SEQ, ORDER_D_MMM_SEQ, ORDER_W_MMM_SEQ
, SAVEAMT_GB, SAVEAMT_CODE, SAVE_NOTE, SAVEAMT, PROC_ID, PROC_DATE
, EXPIRE_YN, EXPIRE_DATE, EXPIRE_DATE_ORG, USE_YN, USE_AMT, SITE_CODE
, INSERT_ID, INSERT_DATE, MODIFY_ID, MODIFY_DATE, SAVEAMT_ORG, C_CODE
)
VALUES
(
V_MMM_CUST_NO, V_MMM_SAVEAMT_MMM_SEQ_MMM, V_MMM_SAVEAMT_MMM_SEQ_MMM, V_MMM_SAVEAMT_MMM_SEQ_MMM
,V_MMM_PROC_GB_MMM, V_MMM_PROC_YN, '1', V_MMM_ORDER_NO, V_MMM_ORDER_G_MMM_SEQ, V_MMM_ORDER_D_MMM_SEQ, V_MMM_ORDER_W_MMM_SEQ
, V_MMM_SAVEAMT_GB, V_MMM_SAVEAMT_CODE, V_MMM_SAVE_NOTE, V_MMM_SAVEAMT, V_MMM_USER_ID, V_MMM_SYSDATETIME
, '0', DECODE( V_MMM_PROC_YN , '1' , P_EXPIRE_DATE ,''), DECODE( V_MMM_PROC_YN , '1' , P_EXPIRE_DATE ,'')
, '0', 0, V_MMM_SITE_CODE
, V_MMM_USER_ID, V_MMM_SYSDATETIME, V_MMM_USER_ID, V_MMM_SYSDATETIME, V_MMM_SAVEAMT, V_MMM_C_CODE
);
EXCEPTION WHEN OTHERS THEN
V_MMM_ERRCODE := 'ER';
V_MMM_ERRNO := ABS(SQLCODE);
V_MMM_ERRMSG := SUBSTR (SQLERRM, 1, 100);
GOTO ERROR_ROUTINE;
END;

<<COMMIT_ROUTINE>>
ERRCODE := 'OK';
ERRNO := 0 ;
ERRMSG := V_MMM_SAVEAMT_MMM_SEQ_MMM ;
GOTO END_ROUTINE;
<<ERROR_ROUTINE>>
ERRCODE := V_MMM_ERRCODE ;
ERRNO := V_MMM_ERRNO ;
ERRMSG := V_MMM_ERRMSG ;
<<END_ROUTINE>>
dbms_output.put_line(ERRCODE||'-'||TO_CHAR(ERRNO)||'-'||ERRMSG) ;
END;[/quote]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值