The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Fey::SQL::Update - Represents a UPDATE query

VERSION

version 0.43

SYNOPSIS

  my $sql = Fey::SQL->new_update();

  # UPDATE Part
  #    SET quantity = 10
  #  WHERE part_id IN (1, 5)
  $sql->update($Part);
  $sql->set( $quantity, 10 );
  $sql->where( $part_id, 'IN', 1, 5 );

  print $sql->sql($dbh);

DESCRIPTION

This class represents a UPDATE query.

METHODS

This class provides the following methods:

Constructor

To construct an object of this class, call $query->update() on a Fey::SQL object.

$update->update()

This method specifies the UPDATE clause of the query. It expects one or more Fey::Table objects (not aliases). Most RDBMS implementations only allow for a single table here, but some (like MySQL) do allow for multi-table updates.

$update->set(...)

This method takes a list of key/value pairs. The keys should be column objects, and the value can be one of the following:

  • a plain scalar, including undef

    This will be passed to Fey::Literal->new_from_scalar().

  • Fey::Literal object

  • Fey::Column object

    A column alias cannot be used.

  • Fey::Placeholder object

$update->where(...)

See the Fey::SQL section on WHERE Clauses for more details.

$update->order_by(...)

See the Fey::SQL section on ORDER BY Clauses for more details.

$update->limit(...)

See the Fey::SQL section on LIMIT Clauses for more details.

$update->sql($dbh)

Returns the full SQL statement which this object represents. A DBI handle must be passed so that identifiers can be properly quoted.

$update->bind_params()

See the Fey::SQL section on Bind Parameters for more details.

$update->update_clause()

Returns the UPDATE clause portion of the SQL statement as a string.

$update->set_clause()

Returns the SET clause portion of the SQL statement as a string.

$update->where_clause()

Returns the WHERE clause portion of the SQL statement as a string.

$update->order_by_clause()

Returns the ORDER BY clause portion of the SQL statement as a string.

$update->limit_clause()

Returns the LIMIT clause portion of the SQL statement as a string.

ROLES

BUGS

See Fey for details on how to report bugs.

AUTHOR

Dave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2011 - 2015 by Dave Rolsky.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)