-
- All Known Subinterfaces:
MergeMatchedSetMoreStep<R>
public interface MergeMatchedSetStep<R extends Record>
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 MergeMatchedSetMoreStep<R>
set(Map<?,?> map)
Set multiple values forUPDATE
in theMERGE
statement'sWHEN MATCHED
clause.<T> MergeMatchedSetMoreStep<R>
set(Field<T> field, Field<T> value)
Set values forUPDATE
in theMERGE
statement'sWHEN MATCHED
clause.<T> MergeMatchedSetMoreStep<R>
set(Field<T> field, Select<? extends Record1<T>> value)
Set values forUPDATE
in theMERGE
statement'sWHEN MATCHED
clause.<T> MergeMatchedSetMoreStep<R>
set(Field<T> field, T value)
Set values forUPDATE
in theMERGE
statement'sWHEN MATCHED
clause.MergeMatchedSetMoreStep<R>
set(Record record)
Set multiple values forUPDATE
in theMERGE
statement'sWHEN MATCHED
clause.<T> MergeMatchedSetMoreStep<R>
setNull(Field<T> field)
Set anull
value forUPDATE
in theMERGE
statement'sWHEN MATCHED
clause.
-
-
-
Method Detail
-
set
@Support({CUBRID,DB2,DERBY,FIREBIRD_3_0,H2,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA,VERTICA}) <T> MergeMatchedSetMoreStep<R> set(Field<T> field, T value)
Set values forUPDATE
in theMERGE
statement'sWHEN MATCHED
clause.
-
set
@Support({CUBRID,DB2,DERBY,FIREBIRD_3_0,H2,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA,VERTICA}) <T> MergeMatchedSetMoreStep<R> set(Field<T> field, Field<T> value)
Set values forUPDATE
in theMERGE
statement'sWHEN MATCHED
clause.
-
set
@Support({CUBRID,DB2,DERBY,FIREBIRD_3_0,H2,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA,VERTICA}) <T> MergeMatchedSetMoreStep<R> set(Field<T> field, Select<? extends Record1<T>> value)
Set values forUPDATE
in theMERGE
statement'sWHEN MATCHED
clause.
-
setNull
@Support({CUBRID,DB2,DERBY,FIREBIRD_3_0,H2,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA,VERTICA}) <T> MergeMatchedSetMoreStep<R> setNull(Field<T> field)
Set anull
value forUPDATE
in theMERGE
statement'sWHEN MATCHED
clause.This method is convenience for calling
set(Field, Object)
, without the necessity of casting the Javanull
literal to(T)
.
-
set
@Support({CUBRID,DB2,DERBY,FIREBIRD_3_0,H2,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA,VERTICA}) MergeMatchedSetMoreStep<R> set(Map<?,?> map)
-
set
@Support({CUBRID,DB2,DERBY,FIREBIRD_3_0,H2,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA,VERTICA}) MergeMatchedSetMoreStep<R> set(Record record)
Set multiple values forUPDATE
in theMERGE
statement'sWHEN MATCHED
clause.This is the same as calling
set(Map)
with the argument record treated as aMap<Field<?>, Object>
, except that theRecord.changed()
flags are taken into consideration in order to update only changed values.- See Also:
set(Map)
-
-