- All Superinterfaces:
- Attachable,- AttachableQueryPart,- AutoCloseable,- Flow.Publisher<Integer>,- Merge<R>,- MergeFinalStep<R>,- MergeNotMatchedStep<R>,- Publisher<Integer>,- org.reactivestreams.Publisher<Integer>,- Query,- QueryPart,- RowCountQuery,- Serializable,- Statement
- All Known Subinterfaces:
- MergeMatchedDeleteStep<R>,- MergeMatchedSetMoreStep<R>,- MergeMatchedWhereStep<R>,- MergeOnConditionStep<R>
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 MergeMatchedThenStep<R>whenMatchedAnd(String sql)Add theWHEN MATCHED ANDclause to theMERGEstatement.@NotNull MergeMatchedThenStep<R>whenMatchedAnd(String sql, Object... bindings)Add theWHEN MATCHED ANDclause to theMERGEstatement.@NotNull MergeMatchedThenStep<R>whenMatchedAnd(String sql, QueryPart... parts)Add theWHEN MATCHED ANDclause to theMERGEstatement.@NotNull MergeMatchedThenStep<R>whenMatchedAnd(Condition condition)Add theWHEN MATCHED ANDclause to theMERGEstatement.@NotNull MergeMatchedThenStep<R>whenMatchedAnd(Field<Boolean> condition)Add theWHEN MATCHED ANDclause to theMERGEstatement.@NotNull MergeMatchedThenStep<R>whenMatchedAnd(SQL sql)Add theWHEN MATCHED ANDclause to theMERGEstatement.@NotNull MergeMatchedStep<R>Add theWHEN MATCHED THEN DELETEclause to theMERGEstatement.@NotNull MergeMatchedSetStep<R>Add theWHEN MATCHED THEN UPDATEclause to theMERGEstatement.Methods inherited from interface org.jooq.Attachableattach, configuration, detachMethods inherited from interface org.jooq.AttachableQueryPartgetBindValues, getParam, getParams, getSQL, getSQLMethods inherited from interface org.jooq.MergeNotMatchedStepwhenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsert, whenNotMatchedThenInsertMethods inherited from interface org.reactivestreams.PublishersubscribeMethods inherited from interface org.jooq.Querybind, bind, cancel, close, execute, executeAsync, executeAsync, isExecutable, keepStatement, poolable, queryTimeout
- 
Method Details- 
whenMatchedThenUpdate@NotNull @CheckReturnValue @Support({CUBRID,DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,ORACLE,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeMatchedSetStep<R> whenMatchedThenUpdate()Add theWHEN MATCHED THEN UPDATEclause to theMERGEstatement.
- 
whenMatchedThenDelete@NotNull @CheckReturnValue @Support({DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HSQLDB,INFORMIX,ORACLE,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA}) @NotNull MergeMatchedStep<R> whenMatchedThenDelete()Add theWHEN MATCHED THEN DELETEclause to theMERGEstatement.
- 
whenMatchedAnd@NotNull @CheckReturnValue @Support({DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,ORACLE,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeMatchedThenStep<R> whenMatchedAnd(Condition condition)Add theWHEN MATCHED ANDclause to theMERGEstatement.
- 
whenMatchedAnd@NotNull @CheckReturnValue @Support({DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,ORACLE,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeMatchedThenStep<R> whenMatchedAnd(Field<Boolean> condition)Add theWHEN MATCHED ANDclause to theMERGEstatement.
- 
whenMatchedAnd@PlainSQL @NotNull @CheckReturnValue @Support({DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,ORACLE,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeMatchedThenStep<R> whenMatchedAnd(SQL sql)Add theWHEN MATCHED ANDclause to theMERGEstatement.NOTE: 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:
- DSL.condition(SQL),- SQL
 
- 
whenMatchedAnd@PlainSQL @NotNull @CheckReturnValue @Support({DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,ORACLE,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeMatchedThenStep<R> whenMatchedAnd(String sql)Add theWHEN MATCHED ANDclause to theMERGEstatement.NOTE: 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:
- DSL.condition(String),- SQL
 
- 
whenMatchedAnd@PlainSQL @NotNull @CheckReturnValue @Support({DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,ORACLE,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeMatchedThenStep<R> whenMatchedAnd(String sql, Object... bindings)Add theWHEN MATCHED ANDclause to theMERGEstatement.NOTE: 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! 
- 
whenMatchedAnd@PlainSQL @NotNull @CheckReturnValue @Support({DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,ORACLE,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeMatchedThenStep<R> whenMatchedAnd(String sql, QueryPart... parts)Add theWHEN MATCHED ANDclause to theMERGEstatement.NOTE: 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! 
 
-