UPDATE 文節

UPDATE 文節は、以後の位置指定 UPDATE ステートメントの割り当て文節内のターゲットとして指定できる列を識別します。 各列名 は、それぞれ修飾のない名前でなければならず、全選択の最初の FROM 文節で識別されている表またはビューの 1 つの列を識別するものでなければなりません。 この文節は、全選択の結果表が読み取り専用の場合は指定してはなりません。

構文図を読む構文図をスキップする
>>-FOR UPDATE--+---------------------+-------------------------><
               |     .-,-----------. |   
               |     V             | |   
               '-OF----column-name-+-'   

column-name リストを使用して UPDATE 文節を指定し、拡張標識変数が使用不可の場合、column-name は更新可能な列でなければなりません。

列名 リストを指定せずに UPDATE 文節を指定する場合、暗黙の列名 リストが次のように決定されます。
  • 拡張標識変数が使用可能な場合は、全選択の最初の FROM 文節で識別される表またはビューのすべての列。
  • それ以外の場合は、全選択の最初の FROM 文節で識別される表またはビューのすべての更新可能な列。
SELECT ステートメント に UPDATE 文節を指定せず、その結果表が読み取り専用 でない場合、結果として暗黙的に UPDATE 文節が使用されます。 暗黙の列名 リストは、次のように決定されます。
  • 拡張標識変数が使用可能な場合は、全選択の最初の FROM 文節で識別される表またはビューのすべての列が含まれます。
  • それ以外の場合は、全選択の最初の FROM 文節で識別される表またはビューのすべての更新可能な列が含まれます。

全選択の結果表が読み取り専用である場合、(詳細は、DECLARE CURSORを参照)、 または FOR READ ONLY 文節を使用する場合には、UPDATE 文節を指定してはなりません。

UPDATE 文節が使用されると、カーソルを参照する FETCH 操作は排他的行ロックが獲得されます。