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
- 
Method SummaryModifier and TypeMethodDescription@NotNull MergeOnConditionStep<R>Provide join conditions and proceed to the next step@NotNull MergeOnConditionStep<R>Provide join conditions and proceed to the next step@NotNull MergeOnConditionStep<R>Provide join conditions and proceed to the next step@NotNull MergeOnConditionStep<R>Provide join conditions and proceed to the next step, connecting them with each other withOperator.AND.@NotNull MergeOnConditionStep<R>Provide join conditions and proceed to the next step, connecting them with each other withOperator.AND.@NotNull MergeOnConditionStep<R>Provide join conditions and proceed to the next step@NotNull MergeOnConditionStep<R>Provide join conditions and proceed to the next step
- 
Method Details- 
on@NotNull @CheckReturnValue @Support({CUBRID,DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,ORACLE,POSTGRES_15,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeOnConditionStep<R> on(Condition condition) Provide join conditions and proceed to the next step, connecting them with each other withOperator.AND.
- 
on@NotNull @CheckReturnValue @Support({CUBRID,DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,ORACLE,POSTGRES_15,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeOnConditionStep<R> on(Condition... conditions) Provide join conditions and proceed to the next step, connecting them with each other withOperator.AND.
- 
on@NotNull @CheckReturnValue @Support({CUBRID,DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,ORACLE,POSTGRES_15,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeOnConditionStep<R> on(Field<Boolean> condition) Provide join conditions and proceed to the next step
- 
on@NotNull @CheckReturnValue @Support({CUBRID,DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,ORACLE,POSTGRES_15,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL @NotNull MergeOnConditionStep<R> on(SQL sql) Provide join conditions and proceed to the next stepNOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses! - See Also:
 
- 
on@NotNull @CheckReturnValue @Support({CUBRID,DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,ORACLE,POSTGRES_15,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL @NotNull MergeOnConditionStep<R> on(String sql) Provide join conditions and proceed to the next stepNOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses! - See Also:
 
- 
on@NotNull @CheckReturnValue @Support({CUBRID,DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,ORACLE,POSTGRES_15,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL @NotNull MergeOnConditionStep<R> on(String sql, Object... bindings) Provide join conditions and proceed to the next stepNOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses! - See Also:
 
- 
on@NotNull @CheckReturnValue @Support({CUBRID,DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,ORACLE,POSTGRES_15,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @PlainSQL @NotNull MergeOnConditionStep<R> on(String sql, QueryPart... parts) Provide join conditions and proceed to the next stepNOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses! - See Also:
 
 
-