- All Known Subinterfaces:
InsertOnDuplicateSetMoreStep<R>
Insert
's DSL API.
Example:
DSLContext create = DSL.using(configuration);
create.insertInto(table, field1, field2)
.values(value1, value2)
.values(value3, value4)
.onDuplicateKeyUpdate()
.set(field1, value1)
.set(field2, 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 InsertOnDuplicateSetMoreStep
<R> Set multiple values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT … DO UPDATE
clause.<T> @NotNull InsertOnDuplicateSetMoreStep
<R> Set values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT … DO UPDATE
clause.<T> @NotNull InsertOnDuplicateSetMoreStep
<R> Set values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT … DO UPDATE
clause.<T> @NotNull InsertOnDuplicateSetMoreStep
<R> Set values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT … DO UPDATE
clause.@NotNull InsertOnDuplicateSetMoreStep
<R> Set multiple values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT … DO UPDATE
clause.@NotNull InsertOnDuplicateSetMoreStep
<R> Sets all columns from the insert column list toDSL.excluded(Field)
.@NotNull InsertOnDuplicateSetMoreStep
<R> Sets all non-conflicting key columns from the insert column list toDSL.excluded(Field)
.@NotNull InsertOnDuplicateSetMoreStep
<R> Sets all non-key columns from the insert column list toDSL.excluded(Field)
.@NotNull InsertOnDuplicateSetMoreStep
<R> Sets all non-primary key columns from the insert column list toDSL.excluded(Field)
.<T> @NotNull InsertOnDuplicateSetMoreStep
<R> Set anull
value forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT … DO UPDATE
clause.
-
Method Details
-
set
@NotNull @CheckReturnValue @Support({AURORA_MYSQL,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,DUCKDB,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES_9_5,SNOWFLAKE,SQLITE,SQLSERVER,SYBASE,TERADATA,YUGABYTEDB}) <T> @NotNull InsertOnDuplicateSetMoreStep<R> set(Field<T> field, T value) Set values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT … DO UPDATE
clause. -
set
@NotNull @CheckReturnValue @Support({AURORA_MYSQL,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,DUCKDB,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES_9_5,SNOWFLAKE,SQLITE,SQLSERVER,SYBASE,TERADATA,YUGABYTEDB}) <T> @NotNull InsertOnDuplicateSetMoreStep<R> set(Field<T> field, Field<T> value) Set values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT … DO UPDATE
clause. -
set
@NotNull @CheckReturnValue @Support({AURORA_MYSQL,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,DUCKDB,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES_9_5,SNOWFLAKE,SQLITE,SQLSERVER,SYBASE,TERADATA,YUGABYTEDB}) <T> @NotNull InsertOnDuplicateSetMoreStep<R> set(Field<T> field, Select<? extends Record1<T>> value) Set values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT … DO UPDATE
clause. -
setNull
@NotNull @CheckReturnValue @Support({AURORA_MYSQL,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,DUCKDB,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES_9_5,SNOWFLAKE,SQLITE,SQLSERVER,SYBASE,TERADATA,YUGABYTEDB}) <T> @NotNull InsertOnDuplicateSetMoreStep<R> setNull(Field<T> field) Set anull
value forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT … DO UPDATE
clause.This method is convenience for calling
set(Field, Object)
, without the necessity of casting the Javanull
literal to(T)
. -
set
@NotNull @CheckReturnValue @Support({AURORA_MYSQL,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,DUCKDB,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES_9_5,SNOWFLAKE,SQLITE,SQLSERVER,SYBASE,TERADATA,YUGABYTEDB}) @NotNull InsertOnDuplicateSetMoreStep<R> set(Map<?, ?> map) -
set
@NotNull @CheckReturnValue @Support({AURORA_MYSQL,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,DUCKDB,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES_9_5,SNOWFLAKE,SQLITE,SQLSERVER,SYBASE,TERADATA,YUGABYTEDB}) @NotNull InsertOnDuplicateSetMoreStep<R> set(Record record) Set multiple values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT … DO UPDATE
clause.This is the same as calling
set(Map)
with the argument record treated as aMap<Field<?>, Object>
.- See Also:
-
setAllToExcluded
@NotNull @CheckReturnValue @Support({AURORA_MYSQL,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,DUCKDB,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES_9_5,SNOWFLAKE,SQLITE,SQLSERVER,SYBASE,TERADATA,YUGABYTEDB}) @NotNull InsertOnDuplicateSetMoreStep<R> setAllToExcluded()Sets all columns from the insert column list toDSL.excluded(Field)
. -
setNonKeyToExcluded
@NotNull @CheckReturnValue @Support({AURORA_MYSQL,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,DUCKDB,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES_9_5,SNOWFLAKE,SQLITE,SQLSERVER,SYBASE,TERADATA,YUGABYTEDB}) @NotNull InsertOnDuplicateSetMoreStep<R> setNonKeyToExcluded()Sets all non-key columns from the insert column list toDSL.excluded(Field)
.This excludes any
Table.getKeys()
columns. -
setNonPrimaryKeyToExcluded
@NotNull @CheckReturnValue @Support({AURORA_MYSQL,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,DUCKDB,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES_9_5,SNOWFLAKE,SQLITE,SQLSERVER,SYBASE,TERADATA,YUGABYTEDB}) @NotNull InsertOnDuplicateSetMoreStep<R> setNonPrimaryKeyToExcluded()Sets all non-primary key columns from the insert column list toDSL.excluded(Field)
.This excludes any
Table.getPrimaryKey()
columns. -
setNonConflictingKeyToExcluded
@NotNull @CheckReturnValue @Support({AURORA_MYSQL,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,DUCKDB,EXASOL,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES_9_5,SNOWFLAKE,SQLITE,SQLSERVER,SYBASE,TERADATA,YUGABYTEDB}) @NotNull InsertOnDuplicateSetMoreStep<R> setNonConflictingKeyToExcluded()Sets all non-conflicting key columns from the insert column list toDSL.excluded(Field)
.This excludes any
InsertOnDuplicateStep.onConflict(Field...)
columns.
-