UPDATE(位置付け)
UPDATE(位置付け)ステートメントにより、SQL カーソルに関連付けられた行セットの現在の行を更新します。
構文
UPDATE [テーブル名] SET 列名 = プロシージャ式[, 列名 = プロシージャ式]...
WHERE CURRENT OF カーソル名
 
テーブル名 ::= ユーザー定義名
 
カーソル名 ::= ユーザー定義名
備考
このステートメントは、ストアド プロシージャ、トリガー、およびセッション レベルでのみ使用できます。
メモ: セッション レベルでは位置付け UPDATE は使用できますが、DECLARE CURSOR ステートメントは使用できません。アクティブな結果セットのカーソル名を取得する方法は、アプリケーションが使用している PSQL のアクセス方法によって決まります。アクセス方法については、PSQL のドキュメントを参照してください。

位置付け UPDATE ステートメントをセッション レベルで使用する場合のみ、ステートメントに
テーブル名を指定できます。テーブル名をストアド プロシージャやトリガーを使って指定することはできません。
次の一連のステートメントは、位置付け UPDATE ステートメントの設定を示します。位置付け UPDATE に必要なステートメントは、DECLARE CURSOR、OPEN CURSOR、および FETCH FROM カーソル名です。
この例の位置付け UPDATE は、HIS 305 という講座名を HIS 306 に変更します。
CREATE PROCEDURE UpdateClass();
BEGIN
DECLARE :CourseName CHAR(7);
DECLARE :OldName CHAR(7);
DECLARE c1 cursor FOR SELECT name FROM course WHERE name = :CourseName FOR UPDATE;
SET :CourseName = 'HIS 305';
OPEN c1;
FETCH NEXT FROM c1 INTO :OldName;
UPDATE SET name = 'HIS 306' WHERE CURRENT OF c1;
END;
関連項目
CREATE PROCEDURE
CREATE TRIGGER