Alzabo::Runtime::InsertHandle.3pm

Langue: en

Autres versions - même langue

Version: 2008-06-10 (ubuntu - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

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"