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"