프로시져.INSERT 또는 UPDATE
<procedure id="tmSaveProj" parameterClass="map">
DECLARE
V_CNT NUMBER;
BEGIN
SELECT COUNT(*)
INTO V_CNT
FROM BUS_AGRMT_MST
WHERE PROJ_PLAN_NO = #PROJ_PLAN_NO#
AND PROJ_PLAN_SEQ = #PROJ_PLAN_SEQ#
AND PART_SHAPE = #CHRG_PART_ORG_SHAPE#
AND PART_ORG_NO = #CHRG_PART_ORG_NO#;
IF V_CNT = 0 THEN
INSERT INTO BUS_AGRMT_MST (
PROJ_PLAN_NO,
PROJ_PLAN_SEQ,
PART_SHAPE,
PART_ORG_NO,
RCPT_BK_CD,
RCPT_ACC_NO,
INS_ID,
INS_DT,
UPT_ID,
UPT_DT
)VALUES(
#PROJ_PLAN_NO#,
#PROJ_PLAN_SEQ#,
#CHRG_PART_ORG_SHAPE#,
#CHRG_PART_ORG_NO#,
#IN_BK_CD#,
#IN_BK_ACC_NO#,
#SESS_USER_ID#,
SYSDATE,
#SESS_USER_ID#,
SYSDATE
);
ELSE
UPDATE BUS_AGRMT_MST
SET RCPT_BK_CD = #IN_BK_CD#,
RCPT_ACC_NO = #IN_BK_ACC_NO#,
UPT_ID = #SESS_USER_ID#,
UPT_DT = SYSDATE
WHERE PROJ_PLAN_NO = #PROJ_PLAN_NO#
AND PROJ_PLAN_SEQ = #PROJ_PLAN_SEQ#
AND PART_SHAPE = #CHRG_PART_ORG_SHAPE#
AND PART_ORG_NO = #CHRG_PART_ORG_NO#;
END IF;
END;
</procedure>
// V_CNT 가 0 이라면 값이 없음으로. INSERT 를 하며 1 이상이면 값이 기존에 있음으로 UPDATE 를 실행