- All Superinterfaces:
Attachable
,AttachableQueryPart
,AutoCloseable
,Flow.Publisher<Integer>
,Merge<R>
,MergeFinalStep<R>
,MergeMatchedDeleteStep<R>
,MergeMatchedStep<R>
,MergeNotMatchedStep<R>
,Publisher<Integer>
,org.reactivestreams.Publisher<Integer>
,Query
,QueryPart
,RowCountQuery
,Serializable
,Statement
- All Known Subinterfaces:
MergeMatchedSetMoreStep<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 MergeMatchedDeleteStep<R>
Add an additionalWHERE
clause to the precedingWHEN MATCHED THEN UPDATE
clause.@NotNull MergeMatchedDeleteStep<R>
Add an additionalWHERE
clause to the precedingWHEN MATCHED THEN UPDATE
clause.Methods inherited from interface org.jooq.Attachable
attach, configuration, detach
Methods inherited from interface org.jooq.AttachableQueryPart
getBindValues, getParam, getParams, getSQL, getSQL
Methods inherited from interface org.jooq.MergeMatchedDeleteStep
deleteWhere, deleteWhere
Methods inherited from interface org.jooq.MergeMatchedStep
whenMatchedAnd, whenMatchedAnd, whenMatchedAnd, whenMatchedAnd, whenMatchedAnd, whenMatchedAnd, whenMatchedThenDelete, whenMatchedThenUpdate
Methods 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, whenNotMatchedThenInsert
Methods inherited from interface org.reactivestreams.Publisher
subscribe
Methods inherited from interface org.jooq.Query
bind, bind, cancel, close, execute, executeAsync, executeAsync, isExecutable, keepStatement, poolable, queryTimeout
-
Method Details
-
where
@NotNull @CheckReturnValue @Support({DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,ORACLE,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeMatchedDeleteStep<R> where(Condition condition)Add an additionalWHERE
clause to the precedingWHEN MATCHED THEN UPDATE
clause.In Oracle, this will produce:
WHEN MATCHED THEN UPDATE SET .. WHERE [ condition ]
In SQL Server, this will produce:
WHEN MATCHED AND [ condition ] THEN UPDATE SET ..
-
where
@NotNull @CheckReturnValue @Support({DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,ORACLE,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeMatchedDeleteStep<R> where(Field<Boolean> condition)Add an additionalWHERE
clause to the precedingWHEN MATCHED THEN UPDATE
clause.In Oracle, this will produce:
WHEN MATCHED THEN UPDATE SET .. WHERE [ condition ]
In SQL Server, this will produce:
WHEN MATCHED AND [ condition ] THEN UPDATE SET ..
-