# FOR UPDATE 節

SELECT文にはFOR UPDATE節を持たせることができます。 既定でカーソルは読み込みしかできません。FOR UPDATE節により、コンパイル中にSELECT文が更新可能なカーソルの必要条件を満たすかを検証して、カーソルを更新可能とします。 更新可能であることの詳細については、更新可能なカーソルの必要条件を参照してください。

#### 構文

    FOR
    {
        READ ONLY | FETCH ONLY |
        UPDATE [ OF 単純列名 [ , 単純列名]* ]
    }

単純列名 により、問い合わせ文のFROM節にある表にて、可視な名前を参照します。

注: 更新可能なJDBCのResultSetを得るために、必ずしもFOR UPDATE節を使う必要はありません。 JDBCのResultSetの元となる文が、更新可能なカーソルの必要条件を満たしてさえいれば、JDBC Statementから、並行処理モードが`ResultSet.CONCUR_UPDATABLE`のJDBC ResultSetを生成することができます。

索引の列が更新されていても、索引を使った最適化が可能です。索引がどのようにカーソルに影響するかについては、Derbyのチューニングを参照してください。

    SELECT RECEIVED, SOURCE, SUBJECT, NOTE_TEXT FROM SAMP.IN_TRAY FOR UPDATE

親トピック: SQL 節