- All Superinterfaces:
Attachable
,AttachableQueryPart
,AutoCloseable
,Flow.Publisher<Integer>
,Publisher<Integer>
,org.reactivestreams.Publisher<Integer>
,Query
,QueryPart
,RowCountQuery
,Serializable
,Statement
A procedural block.
Many RDBMS support procedural languages and in those languages, blocks are an
essential means of grouping logic and creating scope. Some databases support
executing anonymous blocks, in case of which the jOOQ Block
can
be executed like any other Query
. This works in a similar way as a
Batch
containing multiple queries, but unlike a Batch
, a
Block
can contain procedural code as well.
Example:
// Assuming import static org.jooq.impl.DSL.*;
// Wrapping SQL statements only
using(configuration)
.begin(
insertInto(TABLE1).columns(TABLE1.COL).values(1),
insertInto(TABLE2).columns(TABLE2.COL).values(2),
insertInto(TABLE3).columns(TABLE3.COL).values(3)
)
.execute();
// Wrapping procedural code
Variable<Integer> i = var("i", SQLDataType.INTEGER);
using(configuration)
.begin(
for_(i).in(1, 3).loop(
insertInto(TABLE1).columns(TABLE1.COL).values(i)
)
)
.execute();
Instances can be created using DSL.begin(Statement...)
and overloads.
- Author:
- Lukas Eder
-
Method Summary
Modifier and TypeMethodDescription@NotNull QOM.UnmodifiableList<? extends Statement>
Experimental query object model accessor method, see alsoQOM
.Methods inherited from interface org.jooq.Attachable
attach, configuration, detach
Methods inherited from interface org.jooq.AttachableQueryPart
getBindValues, getParam, getParams, getSQL, getSQL
Methods inherited from interface org.reactivestreams.Publisher
subscribe
Methods inherited from interface org.jooq.Query
bind, bind, cancel, close, execute, executeAsync, executeAsync, isExecutable, keepStatement, poolable, queryTimeout
-
Method Details
-
$statements
Experimental query object model accessor method, see alsoQOM
. Subject to change in future jOOQ versions, use at your own risk.
-