Instrução DELETE Instrução DELETE VTIs R/We DELETE
Sintaxe { DELETE FROM nome-da-tabela [WHERE cláusula] | DELETE FROM nome-da-tabela WHERE CURRENT OF }

A primeira forma sintática, chamada de exclusão procurada, exclui todas as linhas identificadas pelo nome da tabela e pela cláusula WHERE.

A segunda forma sintática, chamada de exclusão posicionada, exclui a linha corrente de um cursor atualizável aberto. Se não houver uma linha corrente, ou se a linha não mais satisfizer o comando do cursor, será lançada uma exceção. Para obter mais informações sobre cursores atualizáveis deve ser consultada a .

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

Uma instrução de exclusão procurada depende da tabela sendo atualizada, todos os seus conglomerados (unidades de armazenamento como heaps e índices), e todas as outras tabelas citadas na cláusula WHERE. Uma instrução CREATE ou DROP INDEX na tabela de destino de uma instrução de exclusão procurada preparada, invalida a instrução de exclusão procurada preparada.

A instrução de exclusão posicionada depende do cursor e de todas as tabelas referenciadas pelo cursor. A exclusão posicionada pode ser compilada mesmo que o cursor ainda não tenha sido aberto. Entretanto, a remoção do cursor aberto através do método close do JDBC invalida a exclusão posicionada.

Uma instrução CREATE ou DROP INDEX na tabela de destino de uma exclusão posicionada preparada, invalida a instrução de exclusão posicionada preparada.