- 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 theUSINGclause to the SQL standardMERGEstatement.@NotNull MergeOnStep<R> Add a dummyUSINGclause to the SQL standardMERGEstatementMethods 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, columnsMethods inherited from interface org.jooq.MergeKeyStepN
key, keyMethods 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 theUSINGclause to the SQL standardMERGEstatement.Note that
SQLDialect.DERBYsupports 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 dummyUSINGclause to the SQL standardMERGEstatementThis 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.
-