You can update more than one column in an UPDATE command by listing more than one assignment in the SET clause. But the expression needs to evaluate to a Boolean result. Many other operators are available (see Chapter 9). Of course, the WHERE condition does not have to be an equality test. Note that the equals sign in the SET clause is an assignment while the one in the WHERE clause is a comparison, but this does not create any ambiguity. If it is present, only those rows that match the WHERE condition are updated. If it is omitted, it means that all rows in the table are updated. UPDATE products SET price = price * 1.10 Īs you see, the expression for the new value can refer to the existing value(s) in the row. For example, if you want to raise the price of all products by 10% you could use: The new column value can be any scalar expression, not just a constant. Next is the key word SET followed by the column name, an equal sign, and the new column value. As usual, the table name can be schema-qualified, otherwise it is looked up in the path. First is the key word UPDATE followed by the table name. It is not an error to attempt an update that does not match any rows. Run the following PostgreSQL query to obtain the possible time zone values: SELECT name FROM pgtimezonenames Be sure to consult the PostgreSQL documentation before you set the or related lcxxx options. This might cause zero, one, or many rows to be updated. If you want to set a parameter to the PostgreSQL server default, you must remove/clear the entry. UPDATE products SET price = 10 WHERE price = 5 Graphical database access tools rely on this fact to allow you to update rows individually.įor example, this command updates all products that have a price of 5 to have a price of 10: Only if you have a primary key in the table (independent of whether you declared it or not) can you reliably address individual rows by choosing a condition that matches the primary key. Instead, you specify which conditions a row must meet in order to be updated. Therefore it is not always possible to directly specify which row to update. Recall from Chapter 5 that SQL does not, in general, provide a unique identifier for rows. The name of the table and column to update
0 Comments
Leave a Reply. |