t

slick.jdbc.JdbcActionComponent

InsertActionComposer

trait InsertActionComposer[U] extends JdbcProfile.SimpleInsertActionComposer[U]

Extension methods to generate the JDBC-specific insert actions.

Source
JdbcActionComponent.scala
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. InsertActionComposer
  2. SimpleInsertActionComposer
  3. InsertActionExtensionMethodsImpl
  4. AnyRef
  5. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. abstract type MultiInsertResult

    The result type when inserting a collection of values.

    The result type when inserting a collection of values.

    Definition Classes
    InsertActionExtensionMethodsImpl
  2. abstract type QueryInsertResult

    The result type of operations that insert data produced by another query

  3. abstract type SingleInsertOrUpdateResult

    The return type for insertOrUpdate operations.

    The return type for insertOrUpdate operations. Note that the Option return value will be None if it was an update and Some if it was an insert

    Definition Classes
    SimpleInsertActionComposer
  4. abstract type SingleInsertResult

    The result type when inserting a single value.

    The result type when inserting a single value.

    Definition Classes
    InsertActionExtensionMethodsImpl

Abstract Value Members

  1. abstract def +=(value: U): JdbcProfile.ProfileAction[SingleInsertResult, NoStream, Write]

    Insert a single row, skipping AutoInc columns.

    Insert a single row, skipping AutoInc columns.

    Definition Classes
    SimpleInsertActionComposerInsertActionExtensionMethodsImpl
  2. abstract def forceInsert(value: U): JdbcProfile.ProfileAction[SingleInsertResult, NoStream, Write]

    Insert a single row, including AutoInc columns.

    Insert a single row, including AutoInc columns. This is not supported by all database engines (see slick.jdbc.JdbcCapabilities.forceInsert).

    Definition Classes
    SimpleInsertActionComposer
  3. abstract def forceInsertAll(values: Iterable[U]): JdbcProfile.ProfileAction[MultiInsertResult, NoStream, Write]

    Insert multiple rows, including AutoInc columns.

    Insert multiple rows, including AutoInc columns. This is not supported by all database engines (see slick.jdbc.JdbcCapabilities.forceInsert). Uses JDBC's batch update feature if supported by the JDBC driver. Returns Some(rowsAffected), or None if the database returned no row count for some part of the batch. If any part of the batch fails, an exception is thrown.

    Definition Classes
    SimpleInsertActionComposer
  4. abstract def forceInsertExpr[TT](c: TT)(implicit shape: Shape[_ <: FlatShapeLevel, TT, U, _]): JdbcProfile.ProfileAction[QueryInsertResult, NoStream, Write]

    Insert a single row from a scalar expression

  5. abstract def forceInsertQuery[TT, C[_]](compiledQuery: CompiledStreamingExecutable[Query[TT, U, C], _, _]): JdbcProfile.ProfileAction[QueryInsertResult, NoStream, Write]

    Insert data produced by another query

  6. abstract def forceInsertQuery[TT, C[_]](query: Query[TT, U, C]): JdbcProfile.ProfileAction[QueryInsertResult, NoStream, Write]

    Insert data produced by another query

  7. abstract def forceInsertStatement: String

    Get the SQL statement for a forced insert

    Get the SQL statement for a forced insert

    Definition Classes
    SimpleInsertActionComposer
  8. abstract def forceInsertStatementFor[TT, C[_]](compiledQuery: CompiledStreamingExecutable[Query[TT, U, C], _, _]): String

    Get the SQL statement for inserting data produced by another query

  9. abstract def forceInsertStatementFor[TT, C[_]](query: Query[TT, U, C]): String

    Get the SQL statement for inserting data produced by another query

  10. abstract def forceInsertStatementFor[TT](c: TT)(implicit shape: Shape[_ <: FlatShapeLevel, TT, U, _]): String

    Get the SQL statement for inserting a single row from a scalar expression

  11. abstract def insertAll(values: Iterable[U], rowsPerStatement: JdbcProfile.RowsPerStatement = defaultRowsPerStatement): JdbcProfile.ProfileAction[MultiInsertResult, NoStream, Write]

    Insert multiple rows, skipping AutoInc columns.

    Insert multiple rows, skipping AutoInc columns.

    values

    the rows to insert

    rowsPerStatement

    RowsPerStatement.All to use a single statement to insert all rows at once, or RowsPerStatement.One to use a separate SQL statement for each row. Even so, if supported this will use JDBC's batching functionality.

    returns

    Some(rowsAffected), or None if the database returned no row count for some part of the batch. If any part of the batch fails, an exception is thrown.

    Definition Classes
    SimpleInsertActionComposer
  12. abstract def insertOrUpdate(value: U): JdbcProfile.ProfileAction[SingleInsertOrUpdateResult, NoStream, Write]

    Insert a single row if its primary key does not exist in the table, otherwise update the existing record.

    Insert a single row if its primary key does not exist in the table, otherwise update the existing record. Note that the return value will be None if an update was performed and Some if the operation was insert

    Definition Classes
    SimpleInsertActionComposer
  13. abstract def insertOrUpdateAll(values: Iterable[U], option: JdbcProfile.RowsPerStatement = defaultRowsPerStatement): JdbcProfile.ProfileAction[MultiInsertResult, NoStream, Write]

    Insert multiple rows if its primary key does not exist in the table, otherwise update the existing record.

    Insert multiple rows if its primary key does not exist in the table, otherwise update the existing record. Returns Some(rowsAffected), or None if the database returned no row count for some part of the batch. If any part of the batch fails, an exception is thrown. The option parameter specifies how the operation is to be performed.(default is RowsPerStatement.All) Note unlike insertOrUpdate, client-side emulation is not supported.

    Definition Classes
    SimpleInsertActionComposer
  14. abstract def insertStatement: String

    Get the SQL statement for a standard (soft) insert

    Get the SQL statement for a standard (soft) insert

    Definition Classes
    SimpleInsertActionComposer

Concrete Value Members

  1. final def ++=(values: Iterable[U]): JdbcProfile.ProfileAction[MultiInsertResult, NoStream, Write]

    Insert multiple rows, skipping AutoInc columns.

    Insert multiple rows, skipping AutoInc columns. Uses JDBC's batch update feature if supported by the JDBC driver. Returns Some(rowsAffected), or None if the database returned no row count for some part of the batch. If any part of the batch fails, an exception is thrown.

    This method is a shorthand for insertAll with RowsPerStatement.One.

    Definition Classes
    SimpleInsertActionComposerInsertActionExtensionMethodsImpl