update-clause

FOR UPDATE 節は、その後の位置指定 UPDATE ステートメント内の代入節でターゲットとなる列を指定します。 各 column-name (列名) は非修飾でなければならず、 全選択の最初の FROM 節で指定された表またはビューの列を指定するものでなければなりません。

構文図を読む構文図をスキップするFOR UPDATEOF,column-name

column-name リストと FOR UPDATE 節を指定し、拡張標識変数を使用可能にしない場合は、column-name は更新可能列でなければなりません (SQLSTATE 42808)。

column-name リストを指定せずに FOR UPDATE 節を指定する場合は、以下のように暗黙的な column-name リストが判別されます。
  • 拡張標識変数を使用可能にする場合は、全選択の最初の FROM 節に指定された表またはビューの列すべてが組み込まれます。
  • 拡張標識変数を使用可能にしない場合は、全選択の最初の FROM 節に指定された表またはビューの列のうち更新可能な列すべてが組み込まれます。
以下の条件のいずれかに該当する場合、FOR UPDATE 節は使用できません。
  • 選択ステートメントに関連付けられているカーソルが削除不能である。
  • 選択された列のいずれかがカタログ表の更新不能な列であり、 FOR UPDATE 節を使ってその列が除外されていない。