W tym kodzie próbuję usunąć tabele, jeśli już istnieją za każdym razem, gdy uruchomię program, ale kontrola nie wchodzi w zakres instrukcji if
. table1
i table2
są obecne w bazie danych. Sprawdziłem to w mojej bazie danych. Ponieważ nie wchodzi w skład instrukcji if
, w ostatnim wierszu jest zgłaszany następujący błąd, gdy próbuję utworzyć tabele: ORA-00955: name is already used by an existing object
. Co ja robię źle?nazwa jest już używana przez istniejący obiekt
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(" +.....