Fey::SQL::Insert - Represents a INSERT query
version 0.43
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( part_id => $ph, name => $ph, quantity => $ph, ); print $sql->sql($dbh);
This class represents a INSERT
query.
This class provides the following methods:
To construct an object of this class, call $query->insert()
on a Fey::SQL
object.
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.
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 columns, 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.
This method takes a hash where the keys are column names, and values are the value to be inserted for that column. Each value can be of the following:
This will be passed to Fey::Literal->new_from_scalar()
.
Fey::Literal
objectFey::Placeholder
objectYou can call this method multiple times in order to do a multi-row insert.
Returns the full SQL statement which this object represents. A DBI handle must be passed so that identifiers can be properly quoted.
See the Fey::SQL section on Bind Parameters for more details.
Returns the INSERT INTO
clause portion of the SQL statement as a string (just the tables).
Returns the portion of the SQL statement containing the columns for which values are being inserted as a string.
Returns the VALUES
clause portion of the SQL statement as a string.
See Fey for details on how to report bugs.
Dave Rolsky <autarch@urth.org>
This software is Copyright (c) 2011 - 2015 by Dave Rolsky.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)