NAME
Fey::SQL::Insert - Represents a INSERT query
SYNOPSIS
my $sql = Fey::SQL->new_insert();
# INSERT INTO Part
# (part_id, name, quantity)
# VALUES
# (?, ?, ?)
$sql->insert()->into($Part);
my $ph = Fey::Placeholder->new();
$sql->values( $ph, $ph, $ph );
print $sql->sql($dbh);
DESCRIPTION
This class represents a INSERT
query.
METHODS
This class provides the following methods:
Constructor
To construct an object of this class, call $query->insert()
on a Fey::SQL
object.
$insert->insert()
This method is basically a no-op that exists to so that Fey::SQL has something to call after it constructs an object in this class.
$insert->into()
This method specifies the INTO
clause of the query. It expects a list of Fey::Column and/or Fey::Table objects, but not aliases.
If you pass a table object, then the INTO
will include all of that table's column, in the order returned by the $table->columns()
method.
Most RDBMS implementations only allow for a single table here, but some (like MySQL) do allow for multi-table inserts.
$insert->values(...)
This method takes a list of values. Each value can be of the following:
a plain scalar, including undef
This will be passed to
Fey::Literal->new_from_scalar()
.Fey::Literal
objectFey::Placeholder
object
$insert->sql()
Returns the full SQL statement which this object represents. A DBI handle must be passed so that identifiers can be properly quoted.
$insert->bind_params()
See the Fey::SQL section on Bind Parameters for more details.
AUTHOR
Dave Rolsky, <autarch@urth.org>
BUGS
See Fey for details on how to report bugs.
COPYRIGHT & LICENSE
Copyright 2006-2008 Dave Rolsky, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.