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

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

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

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

例1

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

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

(1) 表名

(2) 設定句

(3) カーソル名

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

image

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

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

 

例2

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

    SET 製品番号 = :ITMNO, 製品名 = N'CDプレーヤ',

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

    WHERE CURRENT OF 在庫表カーソル

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

image

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

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

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


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

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