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

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

3.2.2 更新するデータをNULL値にする

表のデータをNULL値に更新するには、設定句に指定する値の代わりにキーワードの“NULL”を指定するか、標識変を使用します。NULL値に更新する例を以下に示します。

例1

キーワードの“NULL”を指定する例です。発注表の取引先が“61”で、かつ取引製品が“215”のデータについて、仕入価格を“216000”に、発注数量をNULL値に更新します。
UPDATE 在庫管理.発注表 SET 仕入価格 = 216000, 発注数量 = NULL

       WHERE 取引先 = 61 AND 取引製品 = 215

 

例2

標識変数を使用する例です。更新するデータは例1と同じとします。
UPDATE 在庫管理.発注表

       SET 仕入価格 = 216000,

           発注数量 = :ORDERQTY INDICATOR :ORDERQTY_INDICATOR

       WHERE 取引先 = 61 AND 取引製品 = 215

例2では、UPDATE文を実行する前に、標識変数である“ORDERQTY_INDICATOR”に“-1”を設定しておきます。ホスト変数“ORDERQTY”には値を設定する必要はありません。このとき、更新されるデータはNULL値になります。なお、標識変数に“0”または正の値を設定しておくと、更新されるデータはホスト変数“ORDERQTY”に設定されている値となります。

したがって、更新するデータがアプリケーションの処理によってNULL値になったりそれ以外の値となるような処理では、標識変数を使用すればUPDATE文の記述は1つで済みます。一方、データを必ずNULL値とする処理では、キーワードの“NULL”を指定すればUPDATE文の記述が簡単になります。

例1および例2のUPDATE文の実行結果を以下に示します。

[図: NULL値に更新する例]


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

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