From 052e6c5408b83544919a6f45a58447ad66e614e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=8E=E9=96=93?= Date: Wed, 17 May 2023 13:45:00 +0900 Subject: [PATCH] =?UTF-8?q?=E3=80=8Cmake=5Fupsert=5Fquery=E3=80=8D?= =?UTF-8?q?=E3=83=A1=E3=82=BD=E3=83=83=E3=83=89=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../table_mapper/concrete/com_pharm_mapper.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_pharm_mapper.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_pharm_mapper.py index 8be2741b..54ff1ca2 100644 --- a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_pharm_mapper.py +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_pharm_mapper.py @@ -138,27 +138,29 @@ class ComPharmMapper(UltmarcTableMapper): self.queries.append(self.LOGICAL_DELETE_QUERY) return + # 追加、更新の場合 + self.queries.append(self.__make_upsert_query()) + return + + def __make_upsert_query(self): # レコードの存在確認 record_count = self.db.execute_select(self.RECORD_EXISTS_QUERY, self.query_parameter) # 存在しない場合はInsert if record_count[0]['count_num'] == 0: - self.queries.append(self.INSERT_QUERY) - return + return self.INSERT_QUERY # 更新の場合 update_columns = ','.join(self.__make_update_query()) # 何も更新項目が無い場合はNoneとする(更新処理は行わない) if len(update_columns) == 0: - self.queries.append(None) - return + return None else: # 末尾にカンマを付けてSET句を完成させる update_columns += ',' update_query = self.UPDATE_QUERY.format( update_columns=update_columns ) - self.queries.append(update_query) - return + return update_query def __make_update_query(self): set_clauses = [] # 設定項目