java - 名称已被现有对象使用

标签 java sql oracle database-metadata ora-00955

在这段代码中,我试图在每次运行程序时删除表(如果它们已经存在),但控件不会进入 if 语句。 table1table2 存在于数据库中。我已经在我的数据库中检查过了。由于它不在 if 语句中,当我尝试创建表时,它在最后一行出现以下错误:ORA-00955: name is already used by an existing object。我做错了什么?

    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(" +.....

最佳答案

我会替换这一行

ResultSet rs1 = md.getTables(null, null, "table1",types );

这个

ResultSet rs1 = md.getTables(null, null, "TABLE1",types );

关于java - 名称已被现有对象使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8197599/

相关文章:

如果行尚不存在,MySQL SELECT 或 INSERT

oracle - 在oracle中选择不等于空字符串的字段

php - 如何使用数组中的参数从数据库中获取结果?

php - SQL多表更新问题

小写的 Oracle SQLDeveloper 自动完成(大写怎么样)

oracle - 如何在 Oracle SQL Developer 中创建用户

java - 如何从 Java 读取 proto3 自定义选项

java - 在java中模拟python的With语句

Java Spring启动: Reload config without spring cloud config server

java - 构建发布版本的签名 APK 失败,但调试成功。缺课