-
public interface MergeMatchedThenStep<R extends Record>
This type is used for theMerge
'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 codeIt 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
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NotNull MergeMatchedStep<R>
thenDelete()
Add theTHEN UPDATE
clause to theMERGE
statement.@NotNull MergeMatchedSetStep<R>
thenUpdate()
Add theTHEN UPDATE
clause to theMERGE
statement.
-