-
- 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 InsertOnDuplicateSetMoreStep<R>
set(Map<?,?> map)
Set multiple values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT ...
<T> InsertOnDuplicateSetMoreStep<R>
set(Field<T> field, Field<T> value)
Set values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT ...
<T> InsertOnDuplicateSetMoreStep<R>
set(Field<T> field, Select<? extends Record1<T>> value)
Set values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT ...
<T> InsertOnDuplicateSetMoreStep<R>
set(Field<T> field, T value)
Set values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT ...
InsertOnDuplicateSetMoreStep<R>
set(Record record)
Set multiple values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT ...
<T> InsertOnDuplicateSetMoreStep<R>
setNull(Field<T> field)
Set anull
value forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT ...
-
-
-
Method Detail
-
set
@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> InsertOnDuplicateSetMoreStep<R> set(Field<T> field, T value)
Set values forUPDATE
in theINSERT
statement'sON DUPLICATE KEY UPDATE
orON CONFLICT ... DO UPDATE
clause.
-
set
@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> 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
@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> 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
@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> 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
@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}) InsertOnDuplicateSetMoreStep<R> set(Map<?,?> map)
-
set
@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}) 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)
-
-