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} )