ページのトップに戻る
Symfoware Server SQLビギナーズガイド

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文の実行結果を以下に示します。

図3.9 NULL値に更新する例