MERGE INTO IRREGULAR_DISTRIBUTE ID USING DUAL on (ID.OBJID = #{distributeObjid})
WHEN MATCHED THEN
UPDATE
SET
ID.RECEIVE_TYPE = #{receiveType},
ID.SUB_RECEIVE_TYPE = #{subReceiveType},
ID.CAR_OBJID = #{search_carObjid},
ID.RECEIVE_DATE = #{receiveDate},
ID.SUBJECT = #{subject},
ID.CONTENTS = #{contents}
WHEN NOT MATCHED THEN
INSERT
(
ID.OBJID,
ID.RECEIVE_TYPE,
ID.SUB_RECEIVE_TYPE,
ID.CAR_OBJID,
ID.RECEIVE_DATE,
ID.SUBJECT,
ID.CONTENTS,
ID.WRITER,
ID.REGDATE,
ID.STATUS
)
VALUES
(
#{distributeObjid},
#{receiveType},
#{subReceiveType},
#{search_carObjid},
#{receiveDate},
#{subject},
#{contents},
#{writer},
SYSDATE,
#{status}
)
MERGE INTO IRREGULAR_DISTRIBUTE_POINT IDP USING DUAL on (IDP.OBJID = #{distributePointObjid})
WHEN MATCHED THEN
UPDATE
SET
IDP.RECEIPT_DATE = SYSDATE
WHEN NOT MATCHED THEN
INSERT
(
IDP.OBJID,
IDP.DISTRIBUTE_OBJID,
IDP.RECEIPT_USER_ID,
IDP.CAR_OBJID,
IDP.DISTRIBUTE_USER_ID,
IDP.DISTRIBUTE_DATE
)
VALUES
(
#{distributePointObjid},
#{distributeObjid},
#{userId},
#{search_carObjid},
#{writer},
SYSDATE
)
UPDATE IRREGULAR_DISTRIBUTE SET STATUS = #{status}, RELEASE_DATE = SYSDATE WHERE OBJID = #{objId}
MERGE INTO IRREGULAR_DISTRIBUTE_POINT IDP USING DUAL ON (IDP.DISTRIBUTE_OBJID = #{objId} AND IDP.RECEIPT_USER_ID = #{userId})
WHEN NOT MATCHED THEN
INSERT
(
IDP.CAR_OBJID
,IDP.DISTRIBUTE_DATE
,IDP.DISTRIBUTE_OBJID
,IDP.DISTRIBUTE_USER_ID
,IDP.OBJID
,IDP.RECEIPT_DATE
,IDP.RECEIPT_USER_ID
)
VALUES
(
#{carObjId}
,TO_DATE(#{distributeDate})
,#{distributeObjid}
,#{distributeUserId}
,#{objId}
,SYSDATE
,#{userId}
)