- All Superinterfaces:
MergeColumnsStep<R>
,MergeKeyStepN<R>
,MergeValuesStepN<R>
This type is used for the Referencing
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 MergeOnStep
<R> Add theUSING
clause to the SQL standardMERGE
statement.@NotNull MergeOnStep
<R> Add a dummyUSING
clause to the SQL standardMERGE
statementMethods inherited from interface org.jooq.MergeColumnsStep
columns, columns, columns, columns, columns, columns, columns, columns, columns, columns, columns, columns, columns, columns, columns, columns, columns, columns, columns, columns, columns, columns, columns, columns
Methods inherited from interface org.jooq.MergeKeyStepN
key, key
Methods inherited from interface org.jooq.MergeValuesStepN
select, values, values, values
-
Method Details
-
using
@NotNull @CheckReturnValue @Support({CUBRID,DATABRICKS,DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,ORACLE,POSTGRES_15,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeOnStep<R> using(TableLike<?> table) Add theUSING
clause to the SQL standardMERGE
statement.Note that
SQLDialect.DERBY
supports this clause only with ordinary table references, not with derived tables. -
usingDual
@NotNull @CheckReturnValue @Support({CUBRID,DATABRICKS,DB2,DERBY,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,ORACLE,POSTGRES_15,SNOWFLAKE,SQLSERVER,SYBASE,TERADATA,VERTICA}) @NotNull MergeOnStep<R> usingDual()Add a dummyUSING
clause to the SQL standardMERGE
statementThis results in
USING(SELECT 1 FROM DUAL)
for most RDBMS, or inUSING(SELECT 1) AS [dummy_table(dummy_field)]
in SQL Server, where derived tables need to be aliased.
-