rdblkinfのPurpose欄の意味について

rdblkinfコマンドの結果として表示される「REFER|UPDATE」とは、どのような状態ですか?
rdblkinfコマンドで資源の占有情報を表示させたとき、占有目的「Purpose」の欄には、以下の3種類の状態が表示されます。
  • REFER : 参照

  • UPDATE : 更新

  • REFER|UPDATE : 参照更新

「REFER|UPDATE」が出力されるのは、先行の更新処理において、参照と更新が行われる場合に表示されます。
更新処理では、更新対象となるレコードを検索してから更新を行います。更新対象を検索する際の占有目的は「REFER」です。その後、レコードを更新するために非共有モードで占有しなおしますが、そのときの占有目的は「UPDATE」です。その結果、占有目的は「REFER」と「UPDATE」の両方になるため、「REFER|UPDATE」となります。

以下の条件の場合に出力されます。

  • 先行処理がUPDATE文:探索、DELETE文:探索の場合。ただし、動作環境ファイルにUSQL_LOCK=EXを指定した場合などは、「UPDATE」となります。

  • 先行処理がUPDATE文:位置づけや、DELETE文:位置づけの場合で、DECLARE CURSORでFOR UPDATEを記述しない場合。

  • 先行処理がINSERT文を実施し、同一トランザクション内で挿入レコードを参照した場合。

製品・サービス区分 Symfoware
製品・サービス情報
対象製品 Symfoware Server (Native Interface)
プラットフォーム Windows, Solaris, Linux
アンサー種別 運用/保守
このページの先頭へ