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

第4章 カーソルを使用するデータ操作の方法

4.5 カーソルを使用してデータを更新する

カーソルを位置づけた行のデータを更新する場合は、UPDATEを使用します。UPDATE文に使用するカーソルは更新可能カーソであることが必要です。UPDATE文の指定例を以下に示します。

例1

図:FETCH文によるカーソルの位置づけの例”でカーソルを位置づけた行について、在庫数量を“150”に更新します。
UPDATE  在庫管理.在庫表  SET  在庫数量 = 150
              (1)                   (2)

          WHERE CURRENT OF 在庫表カーソル
                                (3)

(1) 表名

(2) 設定句

(3) カーソル名

[図:カーソルを使用したデータの更新の例(カーソル表に含まれる列を更新する場合)]

備考. 更新の前後でカーソルの位置は変化しません。

更新する列名および更新する値は、設定句で指定します。設定句の指定方法は、“データベースのデータを更新する”で説明したのと同じです。なお、更新する列はカーソル表に含まれない列でもかまいません。この例を以下に示します。

 

例2

図:FETCH文によるカーソルの位置づけの例”のカーソルをさらに移動した後、製品番号をホスト変数“ITMNO”の値に、製品名を“MDコンポ”に、在庫数量を元の値の2倍に、そして倉庫番号をNULL値に更新します。ここでは、ホスト変数“ITMNO”には“340”が設定されているとします。
UPDATE 在庫管理.在庫表

       SET 製品番号 = :ITMNO, 製品名 = N'MDコンポ',

           在庫数量 = 在庫数量 * 2, 倉庫番号 = NULL

       WHERE CURRENT OF 在庫表カーソル

[図:カーソルを使用したデータの更新の例(カーソル表に含まれない列を更新する場合)]

備考. 更新の前後でカーソルの位置は変化しません。

UPDATE文によるデータの更新には、カーソルを使用しない方法もあります。その方法は、“データベースのデータを更新する”で説明しています。

なお、ここで説明したUPDATE文によるデータの更新は、カーソルの位置づけにより更新対象の行を特定することから、“UPDATE文:位置づけ”と呼びます。


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

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