void appendMergeClause(StringBuilder sb) {
        sb.append("MERGE ");
        dialect.quoteIdentifier(sb, jdbcTable.getExternalNameList());
        sb.append(" USING (");
        appendValuesClause(sb);
        sb.append(") AS source ");
        appendFieldNames(sb, jdbcTable.dbFieldNames());
        sb.append(" ON ");
        appendPrimaryKeys(sb);
    }
@Test
    void appendMergeClause() {
        MSSQLUpsertQueryBuilder builder = new MSSQLUpsertQueryBuilder(jdbcTable, dialect);
        StringBuilder sb = new StringBuilder();
        builder.appendMergeClause(sb);
        String mergeClause = sb.toString();
        assertThat(mergeClause).isEqualTo("MERGE [table1] USING (VALUES (?, ?)) AS source ([field1], [field2]) ON [table1].[pk1] = source.[pk1] AND [table1].[pk2] = source.[pk2]");
    }