From eb676076a349d7d39426ff32e85f51fa20af2f6e Mon Sep 17 00:00:00 2001 From: cha Date: Wed, 4 Jun 2025 14:54:21 +0900 Subject: [PATCH] T_OBJECT_NO INSERT => MERGE --- .../resources/mappers/object/objectMapper.xml | 40 ++++++++++++------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/src/main/resources/mappers/object/objectMapper.xml b/src/main/resources/mappers/object/objectMapper.xml index 874a04c9..bbf7ae35 100644 --- a/src/main/resources/mappers/object/objectMapper.xml +++ b/src/main/resources/mappers/object/objectMapper.xml @@ -471,23 +471,33 @@ - /* sqlid : com.interplug.qcast.biz.object.insertObjectNo */ - INSERT INTO T_OBJECT_NO - ( - SALE_STORE_ID - , YEAR - , MONTH - , DAY - , NO - ) - SELECT - #{saleStoreId} - , RIGHT(CAST(YEAR(GETDATE()) AS VARCHAR), 2) - , RIGHT('0' + CAST(MONTH(GETDATE()) AS VARCHAR), 2) - , RIGHT('0' + CAST(DAY(GETDATE()) AS VARCHAR), 2) - , ISNULL(MAX(NO), 0) + 1 FROM T_OBJECT_NO WHERE SALE_STORE_ID = #{saleStoreId} AND YEAR = RIGHT(CAST(YEAR(GETDATE()) AS VARCHAR), 2) AND MONTH = RIGHT('0' + CAST(MONTH(GETDATE()) AS VARCHAR), 2) AND DAY = RIGHT('0' + CAST(DAY(GETDATE()) AS VARCHAR), 2) + MERGE INTO T_OBJECT_NO AS TARGET + USING ( + SELECT + #{saleStoreId} AS SALE_STORE_ID + , RIGHT(CAST(YEAR(GETDATE()) AS VARCHAR), 2) AS YEAR + , RIGHT('0' + CAST(MONTH(GETDATE()) AS VARCHAR), 2) AS MONTH + , RIGHT('0' + CAST(DAY(GETDATE()) AS VARCHAR), 2) AS DAY + , ISNULL(MAX(NO), 0) + 1 AS NO + FROM T_OBJECT_NO + WHERE SALE_STORE_ID = #{saleStoreId} + AND YEAR = RIGHT(CAST(YEAR(GETDATE()) AS VARCHAR), 2) + AND MONTH = RIGHT('0' + CAST(MONTH(GETDATE()) AS VARCHAR), 2) + AND DAY = RIGHT('0' + CAST(DAY(GETDATE()) AS VARCHAR), 2) + ) AS SOURCE + ON TARGET.SALE_STORE_ID = SOURCE.SALE_STORE_ID + AND TARGET.YEAR = SOURCE.YEAR + AND TARGET.MONTH = SOURCE.MONTH + AND TARGET.DAY = SOURCE.DAY + WHEN MATCHED THEN + UPDATE SET + NO = SOURCE.NO + WHEN NOT MATCHED THEN + INSERT (SALE_STORE_ID, YEAR, MONTH, DAY, NO) + VALUES (SOURCE.SALE_STORE_ID, SOURCE.YEAR, SOURCE.MONTH, SOURCE.DAY, SOURCE.NO); + /* sqlid : com.interplug.qcast.biz.object.insertObject */ INSERT INTO T_OBJECT