---
name: "Alzabo::Runtime::InsertHandle"
section: "3pm"
platform: "linux"
package: "libalzabo-perl"
version: "0.92-6"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Alzabo::Runtime::InsertHandle"
---

# Alzabo::Runtime::InsertHandle(3pm)

A handle representing an insert

## NAME

Alzabo::Runtime::InsertHandle - A handle representing an insert

## SYNOPSIS

```
 my $handle =
     $table->insert_handle
         ( columns => [ $table->columns( 'name', 'job' ) ] );
 my $faye_row =
     $handle->insert( values =>
                      { name => 'Faye',
                        job => 'HK Pop Chanteuse' } );
 my $guesch_row =
     $handle->insert( values =>
                      { name => 'Guesch',
                        job => 'French Chanteuse and Dancer' } );
```

## DESCRIPTION

This object is analogous to a DBI statement handle, and can be used to insert multiple rows into a table more efficiently than repeatedly calling `"Alzabo::Runtime::Table->insert()"`.

## METHODS

Objects of this class provide one public method:

### insert

This method is used to insert a new row into a table.

It accepts the following parameters:

- •

  values

  This should be a hash reference containing the values to be inserted into the table.

  If no value is given for a primary key column and the column is "sequenced" then the primary key will be auto-generated.

  If values are not provided for other columns which were given when `"Alzabo::Runtime::Table->insert_handle"` was called, this method first checks to see if a value was provided for the column when `"Alzabo::Runtime::Table->insert_handle"` was called.  If none was provided, then the column's default value is used.

  If column values were passed to `"Alzabo::Runtime::Table->insert_handle"`, then these can be overridden by values passed to this method.

  It is not possible to override column values that were given as SQL functions when `"Alzabo::Runtime::Table->insert_handle"` was called.

This method returns a new `"Alzabo::Runtime::Row"` object.

Throws: `"Alzabo::Exception::Logic"`, `"Alzabo::Exception::Params"`
