Symfoware Server SQLビギナーズガイド - FUJITSU -
目次 索引 前ページ次ページ

第3章 データを変更する方法> 3.2 データベースのデータを更新する

3.2.5 更新するデータに別の列の値を使用する

データを更新するときに、別の列の値を使用することができます。次に、この例を示します。

ここで、出荷表という名前の表があるとします。この表は、製品番号、出荷数量、前回出荷、および増減の4つの列から構成されます。製品を出荷すると、その数量が出荷数量に設定され、その前回に出荷した数量が前回出荷に設定されます。増減は、今回の出荷数量と、前回の出荷数量の差です。なお、増減の値は、出荷データが発生するたびに設定するのではなく、ある時点でまとめて設定することにします。

出荷表の製品番号が“140”の出荷数量を“120”に更新し、前回出荷を今までの出荷数量とします。増減については、ここでは更新しません。
UPDATE 在庫管理.出荷表 SET 出荷数量 = 120, 前回出荷 = 出荷数量

       WHERE 製品番号 = 140

[図:別の列の値を使用した更新の例]

ここで注意が必要なのは、列の値を更新のデータに指定した場合、使用される値は、そのUPDATE文の実行前の値であることです。この例でも、出荷数量は定数で指定された“120”に更新されますが、前回出荷は、このUPDATE文の実行前の出荷数量の値である“100”に更新されます。このUPDATE文で更新した“120”にはなりません。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 2007