-
- All Superinterfaces:
Attachable
,AutoCloseable
,Flow.Publisher<Integer>
,org.reactivestreams.Publisher<Integer>
,Query
,QueryPart
,RowCountQuery
,Serializable
,Statement
public interface Block extends RowCountQuery
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 otherQuery
. This works in a similar way as aBatch
containing multiple queries, but unlike aBatch
, aBlock
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
-
Methods inherited from interface org.jooq.Attachable
attach, configuration, detach
-
Methods inherited from interface java.util.concurrent.Flow.Publisher
subscribe
-
Methods inherited from interface org.jooq.Query
bind, bind, cancel, close, execute, executeAsync, executeAsync, getBindValues, getParam, getParams, getSQL, getSQL, getSQL, isExecutable, keepStatement, poolable, queryTimeout
-
-