質問:
「SELECT 〜 FOR UPDATE OF 製品番号」といったようにFOR UPDATE OFがつけば、
どういう意味になるのでしょうか?
答え:
カーソルを使ってUPDATEする場合に、明示的に「この列を更新する」ことを
宣言します。

宣言した列以外をUPDATEしようとすれば、エラーになります。

declare cr1 cursor for
select * from t1
where c1=:xc1
for update of c2,c3

xc1←条件の値

open cr1

fetch cr1 into :xc1,:xc2,:xc3

fetchが成功なら

update t1
set c2=c2+100,c3=c3/100
where current of cr1

close cr1

上記のupdateでは、カーソル宣言の「for update of 列名[,列名・・・]」で
指定した列以外の更新は禁止です。

RDBMSによりますが、この指定を有効に使うと性能向上が図れる場合もあります。
他は答える:
この質問・回答は役に立ちましたか?

ウェブサイトのユーザーによる情報ポスト、JPQA.comのない保証の正しさ.

  • 今2つのドライブを使っています。1台はIO-DATAのDVR...
  • VHS用で記録されている映画のバックアップを取ってDVD...
  • 文字をクリックしたら値を受け渡す方法は?値の受...
  • エクセルのユーザー定義関数は再計算されないのですか...
  • Exelについての質問ですが、アイコンをクリックして...
  • 削除の仕方を教えてください。SPyBotの検索にてReal D...