Module org.jooq
Package org.jooq

Interface BatchBindStep

All Superinterfaces:
Batch, Flow.Publisher<Integer>, Publisher<Integer>, org.reactivestreams.Publisher<Integer>, Serializable

public interface BatchBindStep extends Batch
This type is used for the Batch's DSL API.

Use it to add bind values to a single operation in the batch statement.

Author:
Lukas Eder
See Also:
  • Method Details

    • bind

      @NotNull @CheckReturnValue @Support @NotNull BatchBindStep bind(Object... bindValues)
      Set indexed bind values onto the batch statement.

      The argument array of bindValues will be set onto the indexed bind values of the batch statement:

      • :1 -> bindValues[0]
      • :2 -> bindValues[1]
      • ...
      • :N -> bindValues[N - 1]

      "Unmatched" bind values will be left unmodified:

      • :N+1 -> unmodified
      • :N+2 -> unmodified

      Bind index order

      The 1-based parameter index describes a parameter in rendering order, not in input order. For example, if a query contains a DSL.log(Field, Field) call, where the first argument is the value and the second argument is the base, this may produce different dialect specific renderings:
      • Db2: ln(value) / ln(base)
      • Oracle: log(base, value)
      • SQL Server: log(value, base)

      Some bind values may even be repeated by a dialect specific emulation, leading to duplication and index-shifting.

      As such, it is usually better to supply bind values directly with the input of an expression, e.g.:

    • bind

      @NotNull @CheckReturnValue @Support @NotNull BatchBindStep bind(Object[]... bindValues)
      Set several indexed bind values onto the batch statement.

      This is the same as calling bind(Object...) several times.

    • bind

      @NotNull @CheckReturnValue @Support @NotNull BatchBindStep bind(Map<String,Object> namedBindValues)
      Set named bind values onto the batch statement.

      The argument map of namedBindValues will be set onto the named bind values of the batch statement:

      • :name1 -> bindValues.get("name1")
      • :name2 -> bindValues.get("name2")
      • ...
      • :nameN -> bindValues.get("nameN")

      "Unmatched" bind values will be left unmodified:

      • :nameN+1 -> unmodified
      • :nameN+2 -> unmodified
    • bind

      @NotNull @CheckReturnValue @Support @NotNull BatchBindStep bind(Map<String,Object>... namedBindValues)
      Set several named bind values onto the batch statement.

      This is the same as calling bind(Map...) several times.