UPDATE

Name

UPDATE -- Replaces values of columns in a table テーブル内のカラムの値を置き換えます。

Synopsis

UPDATE table SET column = expression [, ...]
    [ FROM fromlist ]
    [ WHERE condition ]

入力

table

The name of an existing table.

既存テーブルの名前。

column

The name of a column in table.

table 内の カラム名。

expression

A valid expression or value to assign to column.

カラムに代入する有効な、式または値。

fromlist

A Postgres non-standard extension to allow columns from other tables to appear in the WHERE condition.

WHERE 条件に他のテーブル上のカラムを指定できるように する Postgresの非標準的拡 張。

condition

Refer to the SELECT statement for a further description of the WHERE clause.

WHERE 句の詳細な説明については SELECT 文を参照して下 さい。

出力

UPDATE #

Message returned if successful. The # means the number of rows updated. If # is equal 0 no rows are updated.

成功した時に返されるメッセージ。 # は更新 された行の数を意味します。 # が 0 の 場合は更新された行がなかったことを意味します。

説明

UPDATE changes the values of the columns specified for all rows which satisfy condition. Only the columns to be modified need appear as column.

UPDATE は、条件をみたす全ての行の指定されたカラムの値を変更し ます。変更されるべきカラムのみが column パラメータになければ なりません。

Array references use the same syntax found in SELECT. That is, either single array elements, a range of array elements or the entire array may be replaced with a single query.

SELECT と同じ文法を使って配列を参照します。つまり、1 つの配 列要素もある範囲にわたる配列要素も、配列全体も 1 つの問い合 わせで更新することができます。

You must have write access to the table in order to modify it, as well as read access to any table whose values are mentioned in the WHERE condition.

テーブルを変更するためには書き込み権限が必要です。同様に WHERE 条件内で指定した値を持つテーブルへの読み込み権限も 必要になります。

使用方法


   --Change word "Drama" with "Dramatic" on column kind:
   -- kind カラム上の "Drama" という単語を "Dramatic" に変更します。
   --
   UPDATE films 
      SET kind = 'Dramatic'
      WHERE kind = 'Drama';

   SELECT * FROM films WHERE kind = 'Dramatic' OR kind = 'Drama';

   code |title        |did| date_prod|kind      |len
   -----+-------------+---+----------+----------+------
   BL101|The Third Man|101|1949-12-23|Dramatic  | 01:44
   P_302|Becket       |103|1964-02-03|Dramatic  | 02:28
   M_401|War and Peace|104|1967-02-12|Dramatic  | 05:57
   T_601|Yojimbo      |106|1961-06-16|Dramatic  | 01:50
   DA101|Das Boot     |110|1981-11-11|Dramatic  | 02:29
    

互換性

SQL92

SQL92 defines a different syntax for positioned UPDATE statement:

SQL92 では位置付け型 UPDATE 文用の異なる構文を定義しています。

   UPDATE table SET column = expression [, ...]
          WHERE CURRENT OF cursor
	
where cursor identifies an open cursor. ここで、cursor は オープン済のカーソルの識別子です。