-
- All Superinterfaces:
Attachable
,AutoCloseable
,Flow.Publisher<Integer>
,Merge<R>
,MergeFinalStep<R>
,MergeNotMatchedStep<R>
,org.reactivestreams.Publisher<Integer>
,Query
,QueryPart
,RowCountQuery
,Serializable
,Statement
- All Known Subinterfaces:
MergeMatchedDeleteStep<R>
,MergeMatchedSetMoreStep<R>
,MergeMatchedWhereStep<R>
,MergeOnConditionStep<R>
public interface MergeMatchedStep<R extends Record> extends MergeNotMatchedStep<R>
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 MergeMatchedThenStep<R>
whenMatchedAnd(String sql)
Add theWHEN MATCHED AND
clause to theMERGE
statement.@NotNull MergeMatchedThenStep<R>
whenMatchedAnd(String sql, Object... bindings)
Add theWHEN MATCHED AND
clause to theMERGE
statement.@NotNull MergeMatchedThenStep<R>
whenMatchedAnd(String sql, QueryPart... parts)
Add theWHEN MATCHED AND
clause to theMERGE
statement.@NotNull MergeMatchedThenStep<R>
whenMatchedAnd(Condition condition)
Add theWHEN MATCHED AND
clause to theMERGE
statement.@NotNull MergeMatchedThenStep<R>
whenMatchedAnd(Field<Boolean> condition)
Add theWHEN MATCHED AND
clause to theMERGE
statement.@NotNull MergeMatchedThenStep<R>
whenMatchedAnd(SQL sql)
Add theWHEN MATCHED AND
clause to theMERGE
statement.@NotNull MergeMatchedStep<R>
whenMatchedThenDelete()
Add theWHEN MATCHED THEN DELETE
clause to theMERGE
statement.@NotNull MergeMatchedSetStep<R>
whenMatchedThenUpdate()
Add theWHEN MATCHED THEN UPDATE
clause to theMERGE
statement.-
Methods inherited from interface org.jooq.Attachable
attach, configuration, detach
-
Methods inherited from interface java.util.concurrent.Flow.Publisher
subscribe
-
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.jooq.Query
bind, bind, cancel, close, execute, executeAsync, executeAsync, getBindValues, getParam, getParams, getSQL, getSQL, getSQL, isExecutable, keepStatement, poolable, queryTimeout
-
-
-
-
Method Detail
-
whenMatchedThenUpdate
@NotNull @Support({CUBRID,DB2,DERBY,FIREBIRD_3_0,H2,HANA,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeMatchedSetStep<R> whenMatchedThenUpdate()
Add theWHEN MATCHED THEN UPDATE
clause to theMERGE
statement.
-
whenMatchedThenDelete
@NotNull @Support({DB2,DERBY,FIREBIRD_3_0,H2,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA}) @NotNull MergeMatchedStep<R> whenMatchedThenDelete()
Add theWHEN MATCHED THEN DELETE
clause to theMERGE
statement.
-
whenMatchedAnd
@NotNull @Support({DB2,DERBY,FIREBIRD_3_0,H2,HANA,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeMatchedThenStep<R> whenMatchedAnd(Condition condition)
Add theWHEN MATCHED AND
clause to theMERGE
statement.
-
whenMatchedAnd
@NotNull @Support({DB2,DERBY,FIREBIRD_3_0,H2,HANA,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeMatchedThenStep<R> whenMatchedAnd(Field<Boolean> condition)
Add theWHEN MATCHED AND
clause to theMERGE
statement.
-
whenMatchedAnd
@PlainSQL @NotNull @Support({DB2,DERBY,FIREBIRD_3_0,H2,HANA,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeMatchedThenStep<R> whenMatchedAnd(SQL sql)
Add theWHEN MATCHED AND
clause to theMERGE
statement.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 @Support({DB2,DERBY,FIREBIRD_3_0,H2,HANA,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeMatchedThenStep<R> whenMatchedAnd(String sql)
Add theWHEN MATCHED AND
clause to theMERGE
statement.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 @Support({DB2,DERBY,FIREBIRD_3_0,H2,HANA,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeMatchedThenStep<R> whenMatchedAnd(String sql, Object... bindings)
Add theWHEN MATCHED AND
clause to theMERGE
statement.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 @Support({DB2,DERBY,FIREBIRD_3_0,H2,HANA,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeMatchedThenStep<R> whenMatchedAnd(String sql, QueryPart... parts)
Add theWHEN MATCHED AND
clause to theMERGE
statement.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!
-
-