Module org.jooq
Package org.jooq

Interface InsertOnDuplicateSetStep<R extends Record>

All Known Subinterfaces:
InsertOnDuplicateSetMoreStep<R>

public interface InsertOnDuplicateSetStep<R extends Record>
This type is used for the 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 Type
    Method
    Description
    set(Map<?,?> map)
    Set multiple values for UPDATE in the INSERT statement's ON DUPLICATE KEY UPDATE or ON CONFLICT … DO UPDATE clause.
    set(Field<T> field, Field<T> value)
    Set values for UPDATE in the INSERT statement's ON DUPLICATE KEY UPDATE or ON CONFLICT … DO UPDATE clause.
    set(Field<T> field, Select<? extends Record1<T>> value)
    Set values for UPDATE in the INSERT statement's ON DUPLICATE KEY UPDATE or ON CONFLICT … DO UPDATE clause.
    set(Field<T> field, T value)
    Set values for UPDATE in the INSERT statement's ON DUPLICATE KEY UPDATE or ON CONFLICT … DO UPDATE clause.
    set(Record record)
    Set multiple values for UPDATE in the INSERT statement's ON DUPLICATE KEY UPDATE or ON CONFLICT … DO UPDATE clause.
    setNull(Field<T> field)
    Set a null value for UPDATE in the INSERT statement's ON DUPLICATE KEY UPDATE or ON CONFLICT … DO UPDATE clause.