Definir e desfazer at?? um ponto de salvamento

A API do JDBC 3.0 adiciona o m??todo Connection.setSavepoint, que define um ponto de salvamento na transa????o corrente. O m??todo Connection.rollback foi sobrecarregado para receber o argumento ponto de salvamento. Para obter mais informa????es deve ser consultado java.sql.Connection.

O c??digo do exemplo abaixo insere uma linha na tabela, define o ponto de salvamento svpt1, e insere uma segunda linha. Quando mais tarde a transa????o ?? desfeita at?? svpt1, a segunda inser????o ?? desfeita, mas a primeira inser????o permanece intacta. Em outras palavras, quando a transa????o ?? efetivada somente a linha contendo '1' ?? adicionada ?? TABELA1.
// A auto-efetiva????o deve estar desativada
// para utilizar pontos de salvamento.
conn.setAutoCommit(false);
Statement stmt = conn.createStatement();
int rows = stmt.executeUpdate("INSERT INTO TABELA1 (COL1) VALUES(1)");
// definir o ponto de salvamento
Savepoint svpt1 = conn.setSavepoint("S1");
rows = stmt.executeUpdate("INSERT INTO TABELA1 (COL1) VALUES (2)");
...
conn.rollback(svpt1);
...
conn.commit();
Conceitos relacionados
Libera????o de ponto de salvamento
Regras para pontos de salvamento
Refer??ncias relacionadas
Restri????es dos pontos de salvamento