Module org.jooq
Package org.jooq

Interface StoreQuery<R extends Record>

    • Method Detail

      • setRecord

        @Support
        void setRecord​(R record)
        Add values to the store statement
        Parameters:
        record - The record holding values that are stored by the query
      • addValue

        @Support
        <T> void addValue​(Field<T> field,
                          T value)
        Add a value to the store statement
        Parameters:
        field - The field
        value - The value
      • addValue

        @Support
        <T> void addValue​(Field<T> field,
                          Field<T> value)
        Add a value to the store statement
        Parameters:
        field - The field
        value - The value. If value is null, this results in calling addValue(Field, Object) with null as a value.
      • addValues

        @Support
        void addValues​(Map<?,​?> map)
        Add multiple values to the store statement.

        Keys can either be of type String, Name, or Field.

        Values can either be of type <T> or Field<T>. jOOQ will attempt to convert values to their corresponding field's type.

      • setReturning

        @Support
        void setReturning()
        Configure the INSERT or UPDATE statement to return all fields in R.
        See Also:
        getReturnedRecords()
      • setReturning

        @Support
        void setReturning​(Identity<R,​?> identity)
        Configure the INSERT or UPDATE statement to return the generated identity value.
        Parameters:
        identity - The table's identity
        See Also:
        getReturnedRecords()
      • getReturnedRecord

        @Support
        R getReturnedRecord()
        The record holding returned values as specified by any of the setReturning() methods.

        If the insert statement returns several records, this is the same as calling getReturnedRecords().get(0)

        This implemented differently for every dialect:

        • Firebird and Postgres have native support for INSERT .. RETURNING and UPDATE .. RETURNING clauses
        • HSQLDB, Oracle, and DB2 JDBC drivers allow for retrieving any table column as "generated key" in one statement
        • Derby, H2, Ingres, MySQL, SQL Server only allow for retrieving IDENTITY column values as "generated key". If other fields are requested, a second statement is issued. Client code must assure transactional integrity between the two statements.
        • Sybase and SQLite allow for retrieving IDENTITY values as @@identity or last_inserted_rowid() values. Those values are fetched in a separate SELECT statement. If other fields are requested, a second statement is issued. Client code must assure transactional integrity between the two statements.
        Returns:
        The returned value as specified by any of the setReturning() methods. This may return null in case jOOQ could not retrieve any generated keys from the JDBC driver.
        See Also:
        getReturnedRecords()
      • getReturnedRecords

        @Support
        Result<R> getReturnedRecords()
        The records holding returned values as specified by any of the setReturning() methods.

        This implemented differently for every dialect:

        • Firebird and Postgres have native support for INSERT .. RETURNING and UPDATE .. RETURNING clauses
        • HSQLDB, Oracle, and DB2 JDBC drivers allow for retrieving any table column as "generated key" in one statement
        • Derby, H2, Ingres, MySQL, SQL Server only allow for retrieving IDENTITY column values as "generated key". If other fields are requested, a second statement is issued. Client code must assure transactional integrity between the two statements.
        • Sybase and SQLite allow for retrieving IDENTITY values as @@identity or last_inserted_rowid() values. Those values are fetched in a separate SELECT statement. If other fields are requested, a second statement is issued. Client code must assure transactional integrity between the two statements.

        [#5070] Due to an early API design flaw, this method historically returns the type R, not a more generic type Record. This means that only actual columns in R can be returned. For a more generic set of column expressions, use getResult() instead.

        Returns:
        The returned values as specified by any of the setReturning() methods. Note:
        • Not all databases / JDBC drivers support returning several values on multi-row inserts!
        • This may return an empty Result in case jOOQ could not retrieve any generated keys from the JDBC driver.
      • getResult

        @Support
        Result<?> getResult()
        The records holding returned values as specified by any of the setReturning() methods.

        This implemented differently for every dialect:

        • Firebird and Postgres have native support for INSERT .. RETURNING and UPDATE .. RETURNING clauses
        • HSQLDB, Oracle, and DB2 JDBC drivers allow for retrieving any table column as "generated key" in one statement
        • Derby, H2, Ingres, MySQL, SQL Server only allow for retrieving IDENTITY column values as "generated key". If other fields are requested, a second statement is issued. Client code must assure transactional integrity between the two statements.
        • Sybase and SQLite allow for retrieving IDENTITY values as @@identity or last_inserted_rowid() values. Those values are fetched in a separate SELECT statement. If other fields are requested, a second statement is issued. Client code must assure transactional integrity between the two statements.
        Returns:
        The returned values as specified by any of the setReturning() methods. Note:
        • Not all databases / JDBC drivers support returning several values on multi-row inserts!
        • This may return an empty Result in case jOOQ could not retrieve any generated keys from the JDBC driver.