diff --git a/clients/mssql/dialect/dialect.go b/clients/mssql/dialect/dialect.go index adfbff90..a34787be 100644 --- a/clients/mssql/dialect/dialect.go +++ b/clients/mssql/dialect/dialect.go @@ -202,11 +202,11 @@ USING %s AS %s ON %s`, if softDelete { return []string{baseQuery + fmt.Sprintf(` WHEN MATCHED %sTHEN UPDATE SET %s -WHEN NOT MATCHED AND COALESCE(%s, 0) = 0 THEN INSERT (%s) VALUES (%s);`, +WHEN NOT MATCHED THEN INSERT (%s) VALUES (%s);`, // WHEN MATCHED %sTHEN UPDATE SET %s idempotentClause, sql.BuildColumnsUpdateFragment(cols, constants.StagingAlias, constants.TargetAlias, md), - // WHEN NOT MATCHED AND COALESCE(%s, 0) = 0 THEN INSERT (%s) - sql.QuotedDeleteColumnMarker(constants.StagingAlias, md), strings.Join(sql.QuoteColumns(cols, md), ","), + // WHEN NOT MATCHED THEN INSERT (%s) + strings.Join(sql.QuoteColumns(cols, md), ","), // VALUES (%s); strings.Join(sql.QuoteTableAliasColumns(constants.StagingAlias, cols, md), ","), )}, nil diff --git a/clients/mssql/dialect/dialect_test.go b/clients/mssql/dialect/dialect_test.go index bdc6e58a..7bc7d65d 100644 --- a/clients/mssql/dialect/dialect_test.go +++ b/clients/mssql/dialect/dialect_test.go @@ -247,6 +247,6 @@ WHEN NOT MATCHED AND COALESCE(stg."__artie_delete", 1) = 0 THEN INSERT ("id","ba MERGE INTO database.schema.table tgt USING {SUB_QUERY} AS stg ON tgt."id" = stg."id" WHEN MATCHED THEN UPDATE SET "id"=stg."id","bar"=stg."bar","updated_at"=stg."updated_at","start"=stg."start","__artie_delete"=stg."__artie_delete" -WHEN NOT MATCHED AND COALESCE(stg."__artie_delete", 0) = 0 THEN INSERT ("id","bar","updated_at","start","__artie_delete") VALUES (stg."id",stg."bar",stg."updated_at",stg."start",stg."__artie_delete");`, queries[0]) +WHEN NOT MATCHED THEN INSERT ("id","bar","updated_at","start","__artie_delete") VALUES (stg."id",stg."bar",stg."updated_at",stg."start",stg."__artie_delete");`, queries[0]) } }