Fey::SQL::Update(3)

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

VERSION
version 0.44

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

•   Fey::Role::SQL::HasBindParams

•   Fey::Role::SQL::HasWhereClause

•   Fey::Role::SQL::HasOrderByClause

•   Fey::Role::SQL::HasLimitClause

•   Fey::Role::SQL::Cloneable

BUGS
See Fey for details on how to report bugs.

Bugs may be submitted at <https://github.com/ap/Fey/issues>.

SOURCE
The source code repository for Fey can be found at <https://github.com/ap/Fey>.

AUTHOR
Dave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSE
This software is Copyright (c) 2011 - 2025 by Dave Rolsky.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)

The full text of the license can be found in the LICENSE file included with this distribution.