Interface MergeColumnsStep<R extends Record>

All Superinterfaces:
MergeKeyStepN<R>, MergeValuesStepN<R>
All Known Subinterfaces:
MergeUsingStep<R>

@Deprecated(forRemoval=true, since="3.14") public interface MergeColumnsStep<R extends Record> extends MergeKeyStepN<R>
Deprecated, for removal: This API element is subject to removal in a future version.
- [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via DSLContext.mergeInto(Table)
This type is used for the Merge's DSL API.

Example:

DSLContext create = DSL.using(configuration);

create.mergeInto(table)
      .using(select)
      .on(condition)
      .whenMatchedThenUpdate()
      .set(field1, value1)
      .set(field2, value2)
      .whenNotMatchedThenInsert(field1, field2)
      .values(value1, value2)
      .execute();

Referencing XYZ*Step types directly from client code

It is usually not recommended to reference any XYZ*Step types directly from client code, or assign them to local variables. When writing dynamic SQL, creating a statement's components dynamically, and passing them to the DSL API statically is usually a better choice. See the manual's section about dynamic SQL for details: https://www.jooq.org/doc/latest/manual/sql-building/dynamic-sql.

Drawbacks of referencing the XYZ*Step types directly:

  • They're operating on mutable implementations (as of jOOQ 3.x)
  • They're less composable and not easy to get right when dynamic SQL gets complex
  • They're less readable
  • They might have binary incompatible changes between minor releases
Author:
Lukas Eder