public interface MergeMatchedSetStep<R extends Record>
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();
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:
Modifier and Type | Method and Description |
---|---|
<T> MergeMatchedSetMoreStep<R> |
set(Field<T> field,
Field<T> value)
Set values for
UPDATE in the MERGE statement's
WHEN MATCHED clause. |
<T> MergeMatchedSetMoreStep<R> |
set(Field<T> field,
Select<? extends Record1<T>> value)
Set values for
UPDATE in the MERGE statement's
WHEN MATCHED clause. |
<T> MergeMatchedSetMoreStep<R> |
set(Field<T> field,
T value)
Set values for
UPDATE in the MERGE statement's
WHEN MATCHED clause. |
MergeMatchedSetMoreStep<R> |
set(Map<?,?> map)
Set multiple values for
UPDATE in the MERGE
statement's WHEN MATCHED clause. |
MergeMatchedSetMoreStep<R> |
set(Record record)
Set multiple values for
UPDATE in the MERGE
statement's WHEN MATCHED clause. |
@Support(value={CUBRID,DB2,FIREBIRD_3_0,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA}) <T> MergeMatchedSetMoreStep<R> set(Field<T> field, T value)
UPDATE
in the MERGE
statement's
WHEN MATCHED
clause.@Support(value={CUBRID,DB2,FIREBIRD_3_0,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA}) <T> MergeMatchedSetMoreStep<R> set(Field<T> field, Field<T> value)
UPDATE
in the MERGE
statement's
WHEN MATCHED
clause.@Support(value={CUBRID,DB2,FIREBIRD_3_0,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA}) <T> MergeMatchedSetMoreStep<R> set(Field<T> field, Select<? extends Record1<T>> value)
UPDATE
in the MERGE
statement's
WHEN MATCHED
clause.@Support(value={CUBRID,DB2,FIREBIRD_3_0,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA}) MergeMatchedSetMoreStep<R> set(Map<?,?> map)
@Support(value={CUBRID,DB2,FIREBIRD_3_0,HSQLDB,ORACLE,SQLSERVER,SYBASE,TERADATA}) MergeMatchedSetMoreStep<R> set(Record record)
UPDATE
in the MERGE
statement's WHEN MATCHED
clause.
This is the same as calling set(Map)
with the argument record
treated as a Map<Field<?>, Object>
, except that the
Record.changed()
flags are taken into consideration in order to
update only changed values.
set(Map)
Copyright © 2019. All rights reserved.