import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 
import java.sql.Savepoint; 
import java.sql.Statement; 
 
public class MainClass { 
  public static void main(String[] args) { 
    Connection connection = null; 
    Statement statement = null; 
    try { 
      Class.forName("org.hsqldb.jdbcDriver").newInstance(); 
      String url = "jdbc:hsqldb:hsqldb\\demoDatabase"; 
      connection = DriverManager.getConnection(url, "username", "password"); 
      connection.setAutoCommit(false); 
 
      statement = connection.createStatement(); 
 
      String update1 = "UPDATE employees SET email = '[email protected]' WHERE email = '[email protected]'"; 
      statement.executeUpdate(update1); 
      Savepoint savepoint1 = connection.setSavepoint("savepoint1"); 
 
      String update2 = "UPDATE employees SET email = '[email protected]' WHERE email = '[email protected]'"; 
      statement.executeUpdate(update2); 
      Savepoint savepoint2 = connection.setSavepoint("savepoint2"); 
 
      String update3 = "UPDATE employees SET email = '[email protected]' WHERE email = '[email protected]'"; 
      statement.executeUpdate(update3); 
      Savepoint savepoint3 = connection.setSavepoint("savepoint3"); 
 
      String update4 = "UPDATE employees SET email = '[email protected]' WHERE email = '[email protected]'"; 
      statement.executeUpdate(update4); 
      Savepoint savepoint4 = connection.setSavepoint("savepoint4"); 
 
      String update5 = "UPDATE employees SET email = '[email protected]' WHERE email = '[email protected]'"; 
      statement.executeUpdate(update5); 
      Savepoint savepoint5 = connection.setSavepoint("savepoint5"); 
 
      connection.rollback(savepoint3); 
      connection.commit(); 
    } catch (Exception e) { 
      e.printStackTrace(); 
    } finally { 
      if (statement != null) { 
        try { 
          statement.close(); 
        } catch (SQLException e) { 
        } // nothing we can do 
      } 
      if (connection != null) { 
        try { 
          connection.close(); 
        } catch (SQLException e) { 
        } // nothing we can do 
      } 
    } 
  } 
} 
 
            
          
     
   |     
 
 |