- All Superinterfaces:
Attachable,AttachableQueryPart,AutoCloseable,DMLQuery<R>,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 Summary
Modifier 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.Attachable
attach, configuration, detachMethods inherited from interface org.jooq.AttachableQueryPart
getBindValues, getParam, getParams, getSQL, getSQLMethods inherited from interface org.jooq.MergeNotMatchedStep
whenNotMatchedThenInsert, 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.Publisher
subscribeMethods inherited from interface org.jooq.Query
bind, 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:
-
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:
-
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!
-