「make_upsert_query」メソッド追加
This commit is contained in:
parent
dc7f9760e4
commit
052e6c5408
@ -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 = [] # 設定項目
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user