File tree Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -545,14 +545,19 @@ def to_sql(
545
545
for placeholders , parameters in placeholder_parameter_pair_generator :
546
546
sql : str = f"INSERT INTO { table_identifier } { insertion_columns } VALUES { placeholders } "
547
547
if mode == "upsert" :
548
+ upsert_conflict_columns = [identifier (col , sql_mode = "mssql" ) for col in upsert_conflict_columns ]
548
549
sql : str = (
549
550
f"MERGE INTO { table_identifier } \n USING (VALUES { placeholders } ) AS source ({ quoted_columns } )\n "
550
551
)
551
- sql += f"ON { "\n AND " .join (f"{ table_identifier } .{ identifier ( col , sql_mode = "mssql" ) } =source.{ identifier ( col , sql_mode = "mssql" ) } " for col in upsert_conflict_columns )} \n "
552
+ sql += f"ON { "\n AND " .join (f"{ table_identifier } .{ col } =source.{ col } " for col in upsert_conflict_columns )} \n "
552
553
sql += (
553
- f"WHEN MATCHED THEN\n UPDATE SET { ", " .join (f"{ col } =source.{ col } " for col in column_names )} \n "
554
+ f"WHEN MATCHED THEN\n UPDATE " ,
555
+ f"SET { ", " .join (f"{ col } =source.{ col } " for col in column_names )} \n " ,
556
+ )
557
+ sql += (
558
+ f"WHEN NOT MATCHED THEN\n INSERT " ,
559
+ f"({ quoted_columns } ) VALUES ({ ", " .join ([f"source.{ col } " for col in column_names ])} );" ,
554
560
)
555
- sql += f"WHEN NOT MATCHED THEN\n INSERT ({ quoted_columns } ) VALUES ({ ", " .join ([f"source.{ col } " for col in column_names ])} );"
556
561
_logger .debug ("sql: %s" , sql )
557
562
cursor .executemany (sql , (parameters ,))
558
563
con .commit ()
You can’t perform that action at this time.
0 commit comments