-
- All Known Subinterfaces:
InsertOnDuplicateSetMoreStep<R>
public interface InsertOnDuplicateSetStep<R extends Record>
This type is used for theInsert
'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 codeIt 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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NotNull InsertOnDuplicateSetMoreStep<R>
set(Map<?,?> map)
Set multiple values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT ...
<T> @NotNull InsertOnDuplicateSetMoreStep<R>
set(Field<T> field, Field<T> value)
Set values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT ...
<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 ...
<T> @NotNull InsertOnDuplicateSetMoreStep<R>
set(Field<T> field, T value)
Set values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT ...
@NotNull InsertOnDuplicateSetMoreStep<R>
set(Record record)
Set multiple values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT ...
<T> @NotNull InsertOnDuplicateSetMoreStep<R>
setNull(Field<T> field)
Set anull
value forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT ...
-
-
-
Method Detail
-
set
@NotNull @Support({AURORA_MYSQL,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,FIREBIRD_3_0,H2,HSQLDB,INFORMIX,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES_9_5,SQLITE,SQLSERVER,SYBASE,TERADATA}) <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 @Support({AURORA_MYSQL,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,FIREBIRD_3_0,H2,HSQLDB,INFORMIX,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES_9_5,SQLITE,SQLSERVER,SYBASE,TERADATA}) <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 @Support({AURORA_MYSQL,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,FIREBIRD_3_0,H2,HSQLDB,INFORMIX,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES_9_5,SQLITE,SQLSERVER,SYBASE,TERADATA}) <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 @Support({AURORA_MYSQL,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,FIREBIRD_3_0,H2,HSQLDB,INFORMIX,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES_9_5,SQLITE,SQLSERVER,SYBASE,TERADATA}) <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 @Support({AURORA_MYSQL,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,FIREBIRD_3_0,H2,HSQLDB,INFORMIX,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES_9_5,SQLITE,SQLSERVER,SYBASE,TERADATA}) @NotNull InsertOnDuplicateSetMoreStep<R> set(Map<?,?> map)
-
set
@NotNull @Support({AURORA_MYSQL,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,DERBY,FIREBIRD_3_0,H2,HSQLDB,INFORMIX,MARIADB,MEMSQL,MYSQL,ORACLE,POSTGRES_9_5,SQLITE,SQLSERVER,SYBASE,TERADATA}) @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:
set(Map)
-
-