-
- All Superinterfaces:
Attachable,AutoCloseable,Delete<R>,Flow.Publisher<Integer>,org.reactivestreams.Publisher<Integer>,Query,QueryPart,RowCountQuery,Serializable,Statement
public interface DeleteResultStep<R extends Record> extends Delete<R>
This type is used for theDelete's DSL API.Example:
DSLContext create = DSL.using(configuration); create.delete(table) .where(field1.greaterThan(100)) .execute();This implemented differently for every dialect:
- Firebird and Postgres have native support for
UPDATE .. RETURNINGclauses - DB2 allows to execute
SELECT .. FROM FINAL TABLE (DELETE ...)
Referencing
XYZ*Steptypes directly from client codeIt is usually not recommended to reference any
XYZ*Steptypes 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*Steptypes 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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Result<R>fetch()The result holding returned values as specified by theDeleteReturningStep.RfetchOne()The record holding returned values as specified by theDeleteReturningStep.Optional<R>fetchOptional()The record holding returned values as specified by theDeleteReturningStep.-
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
-
-
-
-
Method Detail
-
fetch
@Support({AURORA_POSTGRES,DB2,FIREBIRD,ORACLE,POSTGRES,SQLSERVER}) Result<R> fetch() throws DataAccessException
The result holding returned values as specified by theDeleteReturningStep.- Returns:
- The returned values as specified by the
DeleteReturningStep. Note:- Not all databases / JDBC drivers support returning several values on multi-row inserts!
- This may return an empty
Resultin case jOOQ could not retrieve any generated keys from the JDBC driver.
- Throws:
DataAccessException- if something went wrong executing the query- See Also:
DeleteQuery.getReturnedRecords()
-
fetchOne
@Support({AURORA_POSTGRES,DB2,FIREBIRD,ORACLE,POSTGRES,SQLSERVER}) R fetchOne() throws DataAccessException, TooManyRowsException
The record holding returned values as specified by theDeleteReturningStep.- Returns:
- The returned value as specified by the
DeleteReturningStep. This may returnnullin case jOOQ could not retrieve any generated keys from the JDBC driver. - Throws:
DataAccessException- if something went wrong executing the queryTooManyRowsException- if the query returned more than one record- See Also:
DeleteQuery.getReturnedRecord()
-
fetchOptional
@Support({AURORA_POSTGRES,DB2,FIREBIRD,ORACLE,POSTGRES,SQLSERVER}) Optional<R> fetchOptional() throws DataAccessException, TooManyRowsException
The record holding returned values as specified by theDeleteReturningStep.- Returns:
- The returned value as specified by the
DeleteReturningStep - Throws:
DataAccessException- if something went wrong executing the queryTooManyRowsException- if the query returned more than one record- See Also:
DeleteQuery.getReturnedRecord()
-
-