「make_upsert_query」メソッド追加

This commit is contained in:
野間 2023-05-17 13:45:00 +09:00
parent dc7f9760e4
commit 052e6c5408

View File

@ -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 = [] # 設定項目