Module org.jooq
Package org.jooq

Interface WithStep

All Superinterfaces:
QueryPart, Serializable

public interface WithStep extends QueryPart
This type is part of the jOOQ DSL to create Select, Insert, Update, Delete, Merge statements prefixed with a WITH clause and with CommonTableExpressions.


 DSL.with("table", "col1", "col2")
        select(one(), two())

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:

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
Lukas Eder