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

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

3.2.7 表のすべての行を更新する

表のすべての行を更新するには、探索条件を省略します。もちろん、キーワードの“WHERE”も指定しません。

図:別の列の値を使用した更新の例”で説明した例を思い出してください。この例では、出荷データが発生したときに、出荷数量と前回出荷の値を更新しました。しかし、その増減は設定していませんでした。ここで、増減の値を最新の状態に更新することにします。この例を以下に示します。

出荷表のすべての行について増減の値を、出荷数量から前回出荷を引いた値で更新します。
UPDATE 在庫管理.出荷表 SET 増減 = 出荷数量 - 前回出荷
                                                        ↑
                                                        |
                                                 WHEREは指定しません。

[図:表のすべての行を更新する例]

備考.値が変わらない行についても元と同じ値に更新しています。

この例では、すべての行について増減の値を更新していますが、前回の更新後に、出荷データが発生していない行については、実際の値は変わりません。この行についてもデータの更新は行われています。すなわち、元の値と同じ値に更新しているのです。表全体の行数に対して、このような行の比率が大きい場合には、なんらかの方法で更新が必要な行を管理して、必要な行だけを更新した方が効率がよくなります。


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

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