En este código intento eliminar las tablas si ya existen cada vez que ejecuto el programa, pero el control no está dentro de las instrucciones if
. table1
y table2
están presentes en la base de datos. Lo he comprobado en mi base de datos. Como no está yendo en las declaraciones if
, está dando el siguiente error en la última línea, cuando intento crear las tablas: ORA-00955: name is already used by an existing object
. ¿Qué estoy haciendo mal?El nombre ya está siendo utilizado por un objeto existente
Statement statement = connection.createStatement();
DatabaseMetaData md = connection.getMetaData();
String[] types = {"TABLE"};
ResultSet rs1 = md.getTables(null, null, "table1",types);
if (rs1.next()) {
System.out.println(rs1.getString(3));
statement.executeUpdate("drop table table1");
}
rs1.close();
ResultSet rs2 = md.getTables(null, null, "table2", types);
if (rs2.next()) {
statement.executeUpdate("drop table table2");
}
rs2.close();
statement.executeUpdate("create table table1(" +.....