# DELETE 文

#### 構文

    {
        DELETE FROM 表名
            [WHERE 節] |
        DELETE FROM 表名 WHERE CURRENT OF
    }

一つ目の書き方は、検索による削除と呼ばれ、表名とWHERE 節により絞り込まれた行が削除されます。

二つ目の書き方は、位置による削除と呼ばれ、更新可能なカーソルで現在開いている行が削除されます。更新可能なカーソルについてはSELECT 文を参照してください。

#### 例

    DELETE FROM SAMP.IN_TRAY

    stmt.executeUpdate("DELETE FROM SAMP.IN_TRAY WHERE CURRENT OF " +
    	resultSet.getCursorName());

#### 文の依存

検索による削除では、文が更新する表やそのコングロマリット(ヒープや索引のような記録の単位)に、文が依存します。準備された検索による削除文が対象とする表のCREATEやDROP INDEX文は、その準備された検索による削除文を無効とします。

位置による削除では、文がカーソルやカーソルが参照する表に依存します。たとえまだカーソルが開いてなくても、位置による削除の文はコンパイル可能です。それでも、JDBCのcloseメソッドにより開いたカーソルが取り除かれると、位置による削除の文は無効になります。

準備された位置による削除の文が対象とする表のCREATEやDROP INDEX文は、その準備された位置による削除の文を無効とします。

親トピック: 文