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 |
|---|---|
| public @NotNull MergeKeyStepN | columns(Field<?>... fields)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Set the columns for merge (H2-specific syntax).
DSLContext#mergeInto(Table)
|
| public @NotNull MergeKeyStepN | columns(Collection<? extends Field<?>> fields)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Set the columns for merge (H2-specific syntax).
DSLContext#mergeInto(Table)
|
| public <T1> @NotNull MergeKeyStep1 | columns(Field<T1> field1)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2> @NotNull MergeKeyStep2 | columns(Field<T1> field1, Field<T2> field2)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3> @NotNull MergeKeyStep3 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4> @NotNull MergeKeyStep4 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4, T5> @NotNull MergeKeyStep5 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4, T5, T6> @NotNull MergeKeyStep6 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4, T5, T6, T7> @NotNull MergeKeyStep7 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4, T5, T6, T7, T8> @NotNull MergeKeyStep8 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9> @NotNull MergeKeyStep9 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> @NotNull MergeKeyStep10 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> @NotNull MergeKeyStep11 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> @NotNull MergeKeyStep12 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> @NotNull MergeKeyStep13 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> @NotNull MergeKeyStep14 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> @NotNull MergeKeyStep15 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> @NotNull MergeKeyStep16 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> @NotNull MergeKeyStep17 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> @NotNull MergeKeyStep18 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> @NotNull MergeKeyStep19 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> @NotNull MergeKeyStep20 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> @NotNull MergeKeyStep21 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> @NotNull MergeKeyStep22 | columns(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21, Field<T22> field22)
Deprecated
for removal since 3.14. - [#10045] - 3.14.0 - Use the standard SQL MERGE API instead, via
Create a new DSL UPSERT statement (DSLContext#mergeInto(Table)
SQLDialect#H2
MERGE) or SQLDialect#HANA UPSERT).
|
| public @NotNull MergeOnStep | |
| public @NotNull MergeOnStep | usingDual()
Add a dummy
This results in |